【发布时间】:2020-05-16 07:03:34
【问题描述】:
我有一个字符串化的 json 对象,我使用 JSObject.Parse 解析它并得到下面的结果 -
{{
"payload": {
"firstName": "John",
"lastName": "Doe"
}
}}
这是我的输入 -
"{ \r\n\"payload\": {\r\n\t\"firstName\":\"John\", \r\n\t\"lastName\": \"Doe\"\r\n }}"
额外的括号是解析器添加的开始和结束。我想遍历这个对象并显示名字和姓氏的键值。
foreach (var property in jobject)
{
Console.WriteLine(" {0}: {1}", property.Name, property.Value);
}
但是,我不知道是因为两个括号还是因为嵌套结构,我无法访问里面的属性。我尝试了一种递归方法来解析 json,但还没有成功。有人可以帮我解决这个问题吗?
【问题讨论】:
-
这不是一个有效的 json。
-
怎么不是一个有效的json? JObject.Parse 没有抛出任何错误?如果是关于开头和结尾的额外括号,则解析器添加它。
-
post 中的 json 无效。我无法使用 JObject 解析它,也无法使用 jsonlint.com 和 jsonformatter.curiousconcept.com 进行验证。
-
如果您复制了整个内容,它现在将无效。第一个和最后一个大括号由 jObject.parse 添加
-
请添加您正在解析的有效 json。
标签: c# json json.net jobjectformatter