在特定情况下,使用JSON.Net反序列化时遇到一些麻烦。
我向服务器发出请求,并使用包含集合的JSON.Net序列化对象。然后,我需要在Web应用程序中向该集合添加一个对象,但是我往返于服务器以获取一个初始化的对象,该对象可以插入到我的集合客户端。然后,我将其插入集合中并尝试保存,但是由于新初始化的对象与集合中已有的其他对象具有相同的$ id,因此出现错误。
因此,服务器接收到的我的JSON具有以下一般形式:
{
"$id": 1,
name: "random",
myArr: [
{"$id": 2, blah: "something"},
{"$id": 1, blah: "This is the item inserted into the collection on the client.
This is the one causing the deserialization error.
Note that the $id is the same as another $id already in this object graph"},
]
}
}
我是否必须手动管理$ id自己来避免这种情况,还是在JSON.net中烘焙了一些东西来解决此问题?
参考方案
$ id由Json.NET自动生成,但是您可以告诉格式化程序不要生成$ id。请参见以下问题:how to remove $id during JSON serialization
您也可以只删除客户端的$ id属性:
delete item.$id;
Javascript和Python JSON-未定义变量 - javascript例如,如果您具有以下JSON对象(删除python的分号):values = { a: 1, b: { c: 2, d: { e: 3 } }, f: 4, g: 5 }; 如果您尝试在JS中打印values,它将正常工作。但是在Python中,它将返回错误NameError: name 'a' is not defined,这意味着未定…
PHP json_encode数组到javascript关联数组 - javascript我有一些从PHP中读取的mysqli列。它正在完美地获取和回显。$results = mysqli_fetch_assoc(mysqli_query($conn, $querystring)); echo json_encode($results); //$results = {"title":"Sea Shells"…
尝试使类似功能使用Ajax后出现内部服务器错误500 - javascript我目前正在尝试使我喜欢的功能使用AJAX请求,以使该页面不会在用户喜欢图像时刷新,但是,每当我单击div时,我就遇到“ 500,内部服务器错误”应该触发AJAX请求。可悲的是,我不知道如何解决内部服务器错误500。这是用户喜欢图像的视图中的相关代码:<div class="submit-btn like" id='{{ $…
如何使用Javascript将字典列表解析为JSON格式? - javascript我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…
json.dump不将python列表转换为JS数组 - javascript当我尝试将python列表传递给模板中的JavaScript时,它没有按预期将列表解析为JS数组,而是返回此["Groceries", "Clothing", "Takeaways", "Alcohol"]导致页面中…