提问人:Mark Mullen 提问时间:9/5/2023 最后编辑:Mark Mullen 更新时间:9/5/2023 访问量:51
使用 Newtonsoft.Json 将 JSON 对象反序列化为字典
Deserialize a JSON Object to a dictionary with Newtonsoft.Json
问:
我尝试将JSON对象反序列化为字典(of String, List(Of String)),以便使用动态键值而不是静态变量名称。
因此,我使用 Newtonsoft.Json
我的json文件的内容如下:
{
"locations":{
"Template1": "/c/temp/test1",
"Template2": "/c/temp/test2",
"Template3": "/c/temp/test3",
"Template4": "/c/temp/test4",
},
"default":{
"repTempUrl": {
"us": "Template1",
"de": "Template2"
}
}
}
我使用以下代码对对象进行反序列化,但没有成功。
Dim json = File.ReadAllText("c:\temp\test.json")
Dim response = JsonConvert.DeserializeObject(Of Dictionary(Of String, List(Of String)))(json)
我收到的消息如下:
无法反序列化当前 JSON 对象(例如 {“”name“”:“”value“”}) 类型为“System.Collections.Generic.List”1[System.String]“,因为 该类型需要一个 JSON 数组(例如 [1,2,3])来反序列化 正确。
原则上,这是与这里相同的问题,但解决方案不起作用:
如何在 ASP.NET 中将JSON反序列化为简单的Dictionary<string,string>?
因为我不确定,如果我使用正确的数据类型,我还尝试了以下方法:
List(Of Dictionary(Of String, Dictionary(Of String, String)))
但结果是一样的。
答: 暂无答案
评论
List
Dictionary
locations
default
repTempUrl
Dictionary(Of String, String)