VB.NET中的JSON序列化技术
以下序列化方法之间有什么区别VB.NET中的JSON序列化技术,json,vb.net,Json,Vb.net,以下序列化方法之间有什么区别 第一种方法 序列化对象(列表或数据表) 输出是 i、 (3)[目的,目的,目的] 第二种方法 Dim parent=Prtdata Dim lGridColumns=新的,带有{ Key.data=parent } Dim设置=新JsonSerializerSettings Setting.PreserveReferencesHandling=PreserveReferencesHandling.Objects Dim jsonObject=JsonConvert
Dim parent=Prtdata
Dim lGridColumns=新的,带有{
Key.data=parent
}
Dim设置=新JsonSerializerSettings
Setting.PreserveReferencesHandling=PreserveReferencesHandling.Objects
Dim jsonObject=JsonConvert.SerializeObject(lGridColumns,Formatting.Indented)
返回jsonObject作为第一条评论,您可以在NewtonSoft.json网站上找到,在我的回答中,我只是提供了一个更详细的评论版本
第一个场景是序列化实现的内容(例如:list,array),它将由Json中的数组表示,例如:
[{ "property": "value", "id": 0 }, {"property": "value", "id": 1}]
对于第二种情况,您正在以不同的方式执行一些操作,例如,您在中提供了,这也将预先保留在正在序列化的对象中所做的任何引用,例如:
[{"$id": 1, "title": "item1"}, {"$id": 2, "title": "item2", "previous": { "$ref": 1 }]
这将确保反序列化时,第二个对象将在属性previous
内包含对第一个对象的引用
另一个不同的做法是提供,它将创建一个更易于阅读的json文档,具有换行和缩进。之前的Json将变成类似于以下内容:
[{
"$id": 1,
"title": "item1"
},
{
"$id": 2,
"title": "item2",
"previous": {
"$ref": 1
}
}]
最后一个最大的区别是,在上一个示例中,您正在序列化单个对象,导致其公共属性被序列化,例如:
{
"data": [
...
]
}
其中,data
是要序列化的对象的属性。对于第一种情况,您正在创建一个数组(因为您正在序列化列表或数组),第二种情况是使用单独属性中的数据创建一个json对象。这在许多语言中都是一样的,所以我真的不明白你在这里问的问题?你刚刚回答了它,你能把它作为一个答案贴出来吗?好的,我试过了,试图提供比评论中更多的信息;)这正是我想要的:)