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

7 vues (au cours des 30 derniers jours)
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

Réponses (1)

Vinod
Vinod le 7 Oct 2021
Modifié(e) : Vinod le 7 Oct 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 commentaires
Vinod
Vinod le 8 Oct 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 le 10 Oct 2021
Modifié(e) : Boyan Biandov le 10 Oct 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.

Connectez-vous pour commenter.

Communautés

Plus de réponses dans  ThingSpeak Community

Catégories

En savoir plus sur Read Data from Channel dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by