How to parse JSON with ThingHTTP when field names have spaces? Standard dot notation doesn't with ThingHTTP?

7 visualizzazioni (ultimi 30 giorni)
Hi everyone,
I'm stuck with a challenge how to parse JSON with ThingHTTP when fields have spaces? Standard dot notation doesn't with ThingHTTP - by "standard" I mean I've tried what I've found in terms of syntax on dotted notation with spaces but none have worked.
I'm specifically asking on how to enter the "Parse String" parameters when parsing JSON when fields have spaces in them using the dotted notation. Screen show below. Thank you

Risposte (1)

Vinod
Vinod il 7 Ott 2021
Modificato: Vinod il 7 Ott 2021
You can parse JSON using the dot notation. Here's an example:
Of course, this is a bit contrived to create a thingHTTP to read from ThingSpeak API, but, since I don't know the URL you are trying to get the data from, I cannot give you a more targeted example.
You can also use WEBREAD in MATLAB and use JSONDECODE on the string.
Can you tell me more about the application so I may give you appropriate suggestions?
  3 Commenti
Vinod
Vinod il 8 Ott 2021
That JSON is particularly hard to build a parse string in the thingHTTP parse string - specifically because of the periods and spaces in the JSON keys. However, you could use the vastly more flexible MATLAB Analysis app on ThingSpeak to get the data, parse and write it to a channel's field, for example:
data = webread('https://wozo9.mocklab.io/json/1')
thingSpeakWrite(<YOUR_CHANNEL_ID>,str2double(data.GlobalQuote.x05_Price),'WriteKey','YourChannelWriteAPIKey')
Then you can read it back using the channel's last.json
Boyan Biandov
Boyan Biandov il 10 Ott 2021
Modificato: Boyan Biandov il 10 Ott 2021
@Vinod Thank you, I did think of that but then ThingHTTP in itself can not trigger the MATLAB Analysis app in itself so I will have to trigger it with a timer function, so it will keep triggering and populating the channel whether or not my ThingHTTP receives any hits and therefore needs the data which is stored in the channel.
Sort of "plummer's delight" situation with so many pieces in play but complexity aside - the optimization piece is less than optimal, I will be piping data into the channel that may or may not be needed for a long time and I can not predict when ThingHTTP would fire so it's a play between two asynchronous tasks.

Accedi per commentare.

Community

Più risposte nel  ThingSpeak Community

Categorie

Scopri di più su Read Data from Channel in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by