我正在尝试解析一个JSON字符串,它看起来像这样:
{
"totalCreditsRemoved": 1,
"invalidReceivers": [],
"ids": [100070531],
"validReceivers": ["+33635938286"]
}
我从一个Web API中获取到这个数据,并将其储存在一个字符串中:
var reader = new StreamReader(respStream);
String result = reader.ReadToEnd().Trim();
response = result;
响应是一个公共字符串。
然后,在另一个方法中:我尝试解析我的json字符串:
var json = response;
var objects = JArray.Parse(json);
foreach (JObject root in objects)
{
foreach (KeyValuePair<String, JToken> app in root)
{
totalCreditsRemoved = (String)app.Value["totalCreditsRemoved"];
invalidReceivers = (String)app.Value["invalidReceivers"];
ids = (String)app.Value["ids"];
validReceivers = (String)app.Value["validReceivers"];
}
}
但我总是遇到这个错误:
JsonReaderException:从JsonReader读取JArray时出错。当前JsonReader项不是数组:StartObject。路径'',行1,位置1。
错误发生在此行:
var objects = JArray.Parse(json);
我不明白如何修复这个问题?OVHjson不是已经是一个数组了吗?谢谢!
JArray.Parse
进行解析。 - Tomalakvar myDTO = JsonConvert.DeserializeObject<MyDTO>(input); Console.WriteLine(myDTO.totalCredits);
。 - Panagiotis Kanavos