JSON 在 C# 中解析项目不是数组
JSON parsing in c# item is not an array
我正在尝试解析一个 JSON 字符串,它看起来像这样:
{
"totalCreditsRemoved": 1,
"invalidReceivers": [],
"ids": [100070531],
"validReceivers": ["+33635938286"]
}
我从网上检索到这个 API,并将其存储为字符串:
var reader = new StreamReader(respStream);
String result = reader.ReadToEnd().Trim();
response = result;
响应是一个 public 字符串
然后,用另一种方法:我尝试解析我的 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: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.
错误发生在这一行:
var objects = JArray.Parse(json);
我不明白如何解决这个问题? OVHjson 不是已经是数组了吗
提前致谢!
不需要 JArray.Parse,因为它不是一个数组 ..并且正在做一个大材小用..因此出现错误..
var objects = JObject.Parse(json);
会完成任务
并提取
totalCreditsRemoved = (String)objects.Value["totalCreditsRemoved"];
invalidReceivers = (String)objects.Value["invalidReceivers"];
ids = (String)objects.Value["ids"];
validReceivers = (String)objects.Value["validReceivers"];
dynamic jsonObj = JsonConvert.DeserializeObject(responseFromServer);
foreach (var obj in obj1.Properties())
{
if (obj.Name == "rewardConfirmation") {
foreach (var obj2 in obj.Value)
{
MessageBox.Show(obj2.ToString());
}
}
}
我正在尝试解析一个 JSON 字符串,它看起来像这样:
{
"totalCreditsRemoved": 1,
"invalidReceivers": [],
"ids": [100070531],
"validReceivers": ["+33635938286"]
}
我从网上检索到这个 API,并将其存储为字符串:
var reader = new StreamReader(respStream);
String result = reader.ReadToEnd().Trim();
response = result;
响应是一个 public 字符串
然后,用另一种方法:我尝试解析我的 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: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.
错误发生在这一行:
var objects = JArray.Parse(json);
我不明白如何解决这个问题? OVHjson 不是已经是数组了吗 提前致谢!
不需要 JArray.Parse,因为它不是一个数组 ..并且正在做一个大材小用..因此出现错误..
var objects = JObject.Parse(json);
会完成任务
并提取
totalCreditsRemoved = (String)objects.Value["totalCreditsRemoved"];
invalidReceivers = (String)objects.Value["invalidReceivers"];
ids = (String)objects.Value["ids"];
validReceivers = (String)objects.Value["validReceivers"];
dynamic jsonObj = JsonConvert.DeserializeObject(responseFromServer);
foreach (var obj in obj1.Properties())
{
if (obj.Name == "rewardConfirmation") {
foreach (var obj2 in obj.Value)
{
MessageBox.Show(obj2.ToString());
}
}
}