jsonecode doesn't support complex doubles

13 ビュー (過去 30 日間)
Alexander DeWitt
Alexander DeWitt 2022 年 2 月 22 日
コメント済み: Alexander DeWitt 2022 年 2 月 22 日
After a few error messages about encoding objects of class double, I figuered out that my highlevel structs had a field that contianed complex doubles, and therefore couldn't be encoded. So, I was wondering:
Is there a particular reason that complex doubles aren't supported by jsonecode?
If the reason isn't a lack of general consenus on default encoding of complex doubles in JSON, what is the convention?
Thanks,

採用された回答

Ive J
Ive J 2022 年 2 月 22 日
Here says:
"JSON has no standard way to represent complex numbers, so there is no way to test for them in JSON Schema."
Here also, you'll find more:
You have two (maybe more?) options:
x.a = 1 + 2i;
% 1st
mps.json.encode(x)
ans = '{"a":{"mwcomplex":true,"mwdata":[1,2],"mwsize":[1,1],"mwtype":"double"}}'
% 2nd
y = x;
y.a = string(y.a);
jsonencode(y)
ans = '{"a":"1+2i"}'
% error
jsonencode(x)
Error using jsonencode
Unable to encode objects of class double as JSON-formatted text.
  1 件のコメント
Alexander DeWitt
Alexander DeWitt 2022 年 2 月 22 日
Thanks for the complete answer. I was moving in that direction, but I'm glad I checked and got the full background information.

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

その他の回答 (0 件)

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by