我尝试使用以下命令将JSON数组反序列化为字符串列表:
Newtonsoft.Json.Linq.JArray jsonResponse = JsonConvert.DeserializeObject(result) as Newtonsoft.Json.Linq.JArray;
List<string> response = jsonResponse.ToObject<List<string>>();
JSON具有以下结构:
[[&#34; No Es Posible Importar Dos Numeros De Servicios Iguales&#34;,&#34; No Es Posible Importar Dos Codigos Iguales&#34;]]
但是会引发以下错误:
读取字符串时出错。意外的令牌:StartArray。路径&#39; [0]&#39;。
如何在没有错误的情况下反序列化对象?
答案 0 :(得分:2)
感谢!!!
我遵循了评论中的建议,一切正常。
我只将代码更改为:
clookup = {
'$lookup': {
'from': "contacts",
'localField': "_id",
'foreignField': "account_id",
'as': "contacts"
}
}
sort = { '$sort': { '_id.year': 1, '_id.month': 1 } }
docs = Account.collection.aggregate([clookup, sort])
pp docs.first
获取列表清单。
答案 1 :(得分:0)
这应该有效: -
var list = JArray.Parse(@"[[""a"", ""b"", ""c""]]").Values().Select(x => x.Value<string>()).ToList();
希望有所帮助!
答案 2 :(得分:0)
我花了一些时间用 C#Fiddle (我喜欢这些用于协作),而你在本地运行它,但我把你的解决方案放到一个小提琴中,这样一些其他人以后可能会有完整的代码运行,他们可以玩。
https://dotnetfiddle.net/mAU6gi
此外,这突出了需要包含,并且页面上可以随时提供nuget包!
using Newtonsoft.Json;
using System.Collections.Generic;
这也向用户显示如何枚举他们的新嵌套列表,并按照他们从JSON中输入的顺序显示所有值。
<强>谢谢!强> -app-德文