我有一个JSON字符串生成使用Json.NetC#库与此设置:
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
Formatting = Newtonsoft.Json.Formatting.Indented,
ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
PreserveReferencesHandling = PreserveReferencesHandling.All
};
请注意,保留引用处理在json中生成引用,而不是在每个对象引用上复制(复制)相同的对象。
如何用java反序列化结果?谷歌Gson库解析失败。
更新:在我看来,这个错误帮不上什么忙:com.google. gson.JsonSynateException:java.lang.IllegalStateException:预期BEGIN_ARRAY但在第1行第154944列路径$.表[0].列[4].ForeignKeyTable.ForeignKeyChildren1.列[0].ForeignKeyTable.索引
我将放置一小段 json 数据,注意$id,$ref:带有引用格式的 JSON
最后我找到了一个我修改为符合JsonNet C#序列化器格式的java库:
https://github.com/jdereg/json-io
将@id、@ref和@items更改为$id、$ref和$values,并将$id和$ref中的字符串值从 JsonNet C# 解析为 java Long(即使在 C# 序列化格式中也是一个数字,但它是字符串类型)
也许这也可以帮助别人…
https://github.com/LucaGabi/json-io.git