如何使用.net JavaScriptSerializer类反序列化以下JSON字符串?
本文关键字:JSON 字符串 反序列化 何使用 net JavaScriptSerializer | 更新日期: 2023-09-27 18:16:59
我有以下JSON对象:
[{"newValue":"{'"id'":'"1'",'"desc'":'"description'"}",
"oldValue":"{'"id'":'"2'",'"desc'":'"description2'"}"}]
newValue
保存我想要反序列化成的对象的新值,oldValue
包含我想要反序列化成的对象的旧值,但我不确定如何单独反序列化每个对象还是可以一起完成?
你的json有点奇怪,因为newValue和oldValue的值是string,而不是object。似乎是双连载的。下面的代码工作(首先反序列化整个json字符串,然后是old/new/values)
var jArr = JArray.Parse(json);
var anon = new { id = 0, desc = "" };
var items = jArr.Select(item => new
{
NewValue = JsonConvert.DeserializeAnonymousType(item["newValue"].ToString(),anon),
OldValue = JsonConvert.DeserializeAnonymousType(item["oldValue"].ToString(),anon)
})
.ToList();