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

6 ビュー (過去 30 日間)
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

回答 (1 件)

Vinod
Vinod 2021 年 10 月 7 日
編集済み: Vinod 2021 年 10 月 7 日
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 件のコメント
Vinod
Vinod 2021 年 10 月 8 日
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 2021 年 10 月 10 日
編集済み: Boyan Biandov 2021 年 10 月 10 日
@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.

サインインしてコメントする。

コミュニティ

その他の回答  ThingSpeak コミュニティ

カテゴリ

Help Center および File ExchangeRead Data from Channel についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by