C# 将JSON数据反序列化到C中的列表中#
经过数小时的搜索和尝试,有人能帮我解决以下简单问题吗 我有以下JSON字符串:C# 将JSON数据反序列化到C中的列表中#,c#,json,list,serialization,C#,Json,List,Serialization,经过数小时的搜索和尝试,有人能帮我解决以下简单问题吗 我有以下JSON字符串: [ { "key": 1234, }, { "key": 9876, } ] 如何读取此JSON并将所有值写入列表 到目前为止已多次尝试,但请参阅以下代码: List<int> content = new List<int>; var json = reader.ReadToEnd(); var obj = JObject.P
[
{
"key": 1234,
},
{
"key": 9876,
}
]
如何读取此JSON并将所有值写入列表
到目前为止已多次尝试,但请参阅以下代码:
List<int> content = new List<int>;
var json = reader.ReadToEnd();
var obj = JObject.Parse(json);
其他尝试:
var token = obj.SelectToken("key");
foreach(var item in token)
{
content.Add(JsonConvert.DeserializeObject<int>(item.value));
}
尝试运行最后一次尝试时,我收到以下错误消息:
从JsonReader读取JObject时出错。当前JsonReader项不是对象:StartArray。
即使JSON看起来如下所示:
[{\"key\":9999},{\"key\":9876}]
我会很高兴得到每一个答案
致以最诚挚的问候请使用
可通过以下方式完成:
List<string> yourList = JsonConvert.DeserializeObject(YourJson).ToList();
List yourList=JsonConvert.DeserializeObject(YourJson.ToList();
注意:它只能保存为字符串列表,但可以使用以下命令调用:
yourList。YourKeyName
取决于所需内容,但也可以为json创建指定的类。
下面的类表示json字符串
public class RootObject
{
public int key { get; set; }
}
然后可以按如下方式反序列化json字符串:
string json=reader.ReadToEnd();
List<RootObject> myobs=JsonConvert.DeserialiseObject<List<RootObject>>(json);
按照@bolkay所说的,您需要定义您的对象:
public class KeyClass
{
public int Key { get; set; }
}
例如,如果JSON在一个名为jsString的变量中
List<int> content = new List<int>();
var keys = JsonConvert.DeserializeObject<List<KeyClass>>(jsString);
foreach (var item in keys)
{
content.Add(item.Key);
}
列表内容=新列表();
var keys=JsonConvert.DeserializeObject(jsString);
foreach(键中的变量项)
{
content.Add(item.Key);
}
我添加了以下内容的可能重复:返回JsonConvert.DeserializeObject(json.ToList();不幸的是,他说:“object”不包含“ToList”的定义(可能缺少using指令)“确保你的函数也是List
。我再次检查了它。是的,我的函数也是List:private List getKey(string ip){List content=new List();var request=HttpWebRequest.Create(string.Format(ip,path));使用(HttpWebResponse response=request.GetResponse()作为HttpWebResponse){using StreamReader=new StreamReader(response.GetResponseStream()){var json=reader.ReadToEnd();content=JsonConvert.DeserializeObject(json.ToList();}}}}返回内容;}
foreach(var ob in myobs){
Console.WriteLine(ob.key);
}
public class KeyClass
{
public int Key { get; set; }
}
List<int> content = new List<int>();
var keys = JsonConvert.DeserializeObject<List<KeyClass>>(jsString);
foreach (var item in keys)
{
content.Add(item.Key);
}