问题描述
Res={"result":["123","563"]}
这是我拥有的类似 json 文件。我必须遍历它并将每个值分配为 id。 我正在尝试
Obj = JsonConvert.DeseraializeObject<classname>(Res);
Foreach(string id in Obj)
{Function();}
我收到错误,因为 class 没有 getenumerator 的扩展
编辑:
我这样做了
List<classname> objlist = jsonconvert.deserializeObject<list<classname>>(res);
foreach (string id in objlist)
{function();}
foreach 循环出错,因为无法将类名转换为字符串
解决方法
你的对象应该有属性 List 或 List 并且你将迭代抛出它,而不是在 Obj 中。
,你的 Json 结构在 c# 中看起来像这样
using Newtonsoft.Json;
public class Result
{
[JsonProperty("result")]
List<string> Res { get; set; }
}
反序列化:
Result r = JsonConvert.DeserializeObject<Result>(jsonString);
简要说明:你的json有一个名为“result”的属性,这个属性是一个“string”类型的“list”List<string>.
在 JSON 文件中,您有一个带有键“results”的字符串数组。可以这样建模:
public class Result
{
public List<string> results { get; set; }
}
您可以反序列化,然后按以下方式循环:
var data = JsonConvert.DeserializeObject<Result>(Res);
foreach (var id in data.results)
{
// Assignment logic
}