C# 从API接收到json数组响应(不带括号)

C# 从API接收到json数组响应(不带括号),c#,.net,json,api,C#,.net,Json,Api,我想我得到的是来自RESTAPI调用的json响应,但是所有数组字段都不包含[]。当我解析时,它会给我错误 我试过JObject.Parse或JsonConvert.DeserializeObject,它们都给我错误信息。当我添加[]时,它就像一个符咒 var content= "{'main': {'item': 'item1', 'value': 'value1'}, {'item': 'item2', 'value': 'value2'} }"; 当我尝试时: jRoot = JObje

我想我得到的是来自RESTAPI调用的json响应,但是所有数组字段都不包含[]。当我解析时,它会给我错误

我试过JObject.Parse或JsonConvert.DeserializeObject,它们都给我错误信息。当我添加[]时,它就像一个符咒

var content= "{'main': {'item': 'item1', 'value': 'value1'}, {'item': 'item2', 'value': 'value2'} }";
当我尝试时:

jRoot = JObject.Parse(content);
var = JsonConvert.DeserializeObject<mainOBJ>(content);
我收到

{“无效的属性标识符字符:{.Path'main',第1行,位置47.”

当我尝试时:

jRoot = JObject.Parse(content);
var = JsonConvert.DeserializeObject<mainOBJ>(content);
var=JsonConvert.DeserializeObject(内容);
我收到

{“分析值时遇到意外字符:}。路径“main”,第1行,位置7。”}


正确的json格式必须如下所示:

var content= "{'main': [{'item': 'item1', 'value': 'value1'}, {'item': 'item2', 'value': 'value2'} ]}";

您试图用JSON解析器解析无效的JSON(无论多么相似)。除了黑客解决方案,最好的建议是联系API维护人员并让他们修复它。关于“JSON”怎么说?那不是JSON。没有JSON序列化程序会创建此字符串。也没有解析器能够解析它。看起来RESTAPI作者试图手动创建JSON字符串,而不是使用JSON序列化。您也不能假设
main
是数组。如果被遗忘的部分是第二本词典前面的
main2:
标记怎么办?可能是
main
是一个项目数组,或者
main
是根词典中两个属性之一。请将我的答案设置为此问题的答案