JSON decode data format
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am attempting to use the jsondecode function to look at weather data via an API. The issue I am running into is that the format of data type in Matlab changes depending on what is returned.
For example, if I am look at 5 days, and all 5 days have the same information (such as Temperature, wind speed, humidity, and chance of precipitation), then Matlab will format the data as a structure array. So then I access individual values using smooth parentheses ( ).
However, if one of the days is different, then Matlab will format the data as a cell array of scalar structures. Say that it happened to rain one day, then it might add the field "precipitation type". Now since one day is different, I must access the data using curly braces { }.
Is there any way to avoid this? Or force it to use certain formatting all the time? (Such as always returning it as always using a cell array format?)
0 comentarios
Respuestas (1)
Carl
el 4 de Abr. de 2017
Unfortunately, there doesn't seem to be a way to force the output to be a specific format. As a workaround, I'd suggest checking the output with the 'iscell' function, and then work with the data accordingly.
4 comentarios
Doug Addy
el 21 de Sept. de 2020
Very frustrating indeed, this is a very common situation where json data has optional fields. Please just return objects in a cell array, having to handle each case separately with exactly the same code with different brackets is really silly.
Jidong Zhang
el 28 de Jul. de 2022
Editada: Jidong Zhang
el 28 de Jul. de 2022
I came across exactly the same situation and I completely agree with Doug. Please help to add this in the request for future update. Thank you!
Ver también
Categorías
Más información sobre JSON Format en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!