Decode JSON into only struct array
显示 更早的评论
Hi,
I am using jsondecode function in matlab to decode nested json script. I want the final output in struct array only. When some child keys are missing, I get a cell array. However, I would like to have all the keys in struct array and if it the child key is not present, I want that key with empty value. Is this function foreseen to have this functionality? is there any fast alternaive to achieve it?
Thanks
5 个评论
TADA
2019-7-2
Do you know in advance what the format of your struct is?
Your requirements are a bit unclear. The JSON that generates a structure would be completely different from the one that generates a cell array.
>>jsondecode('{"a":"b", "c":"d"}') %generate a structure with two fields
ans =
struct with fields:
a: 'b'
c: 'd'
>>jsondecode('{"a":["b", "e"], "c":["d", "f"]}') %the [] in the json generates a cell array
ans =
struct with fields:
a: {2×1 cell}
c: {2×1 cell}
The two JSON strings are completely different and it wouldn't make much sense to generate a structure from ["b", "e"]
Can you clarify what you want, possibly with some example JSON.
Parth-Raj Singh
2019-7-2
编辑:Parth-Raj Singh
2019-7-2
Rik
2019-7-2
Shouldn't the JSON string not be like the one below? Then the string itself would encode an empty element.
jsondecode('{"a":[{"b":2,"c":[]},{"b":3,"c":4}]}')
Alternatively, you could write a parser that ensures every field has the same subfields.
Parth-Raj Singh
2019-7-2
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 JSON Format 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!