gpt4 book ai didi

C# JSON 解析器错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:26 27 4
gpt4 key购买 nike

这是读取Json文件代码部分。

           using (StreamReader streamReader = new StreamReader(tplFile, Encoding.GetEncoding("GB2312")))
{
try
{
new JsonSerializer();
JsonTextReader reader = new JsonTextReader(streamReader);
JObject jObject = JObject.Load(reader);
JToken jToken = jObject["general"];
foreach (JToken current in (IEnumerable<JToken>)jToken)
{
PrintItem item = default(PrintItem);
string text = current.ToString();
if (text.Contains("arryname"))
{
string text2 = current["arryname"].ToString();
item.arryName = text2;
JToken jToken2 = current["value"];
using (IEnumerator<JToken> enumerator2 = ((IEnumerable<JToken>)jToken2).GetEnumerator())
{
while (enumerator2.MoveNext())
{
JToken current2 = enumerator2.Current;
PrintItem item2 = default(PrintItem);
string text3 = current2.ToString();
if (text3.Contains("size"))
{
item2.size = Common.Convert2Int(current2["size"].ToString());
}
if (text3.Contains("format"))
{
item2.format = current2["format"].ToString();
}
if (text3.Contains("value"))
{
item2.value = current2["value"].ToString();
}
if (text3.Contains("align"))
{
item2.align = Common.Convert2Int(current2["align"].ToString());
}
if (text3.Contains("style"))
{
item2.style = Common.Convert2Int(current2["style"].ToString());
}
if (text3.Contains("left"))
{
item2.left = Common.Convert2Int(current2["left"].ToString());
}
if (text2 == "items")
{
this.gtempItemList.arryname.Add(item2);
}
else
{
if (text2 == "pays")
{
this.gtempItemList.pays.Add(item2);
}
}
}
goto IL_376;
}
goto IL_27E;
}
goto IL_27E;
IL_376:
this.gtempItemList.ItemList.Add(item);
continue;
IL_27E:
if (text.Contains("size"))
{
item.size = Common.Convert2Int(current["size"].ToString());
}
if (text.Contains("format"))
{
item.format = current["format"].ToString();
}
if (text.Contains("value"))
{
item.value = current["value"].ToString();
}
if (text.Contains("align"))
{
item.align = Common.Convert2Int(current["align"].ToString());
}
if (text.Contains("style"))
{
item.style = Common.Convert2Int(current["style"].ToString());
}
if (text.Contains("left"))
{
item.left = Common.Convert2Int(current["left"].ToString());
goto IL_376;
}
goto IL_376;
}
}
}
this.Refresh();
}

}

这是我的代码。

{
"general": {
"arryname": "name1",
"value": {
"size": "10",
"format": "L100"
}
}
}

这是我的 JSON 文件。

当代码string text2 = current["arryname"].ToString();运行时,报错

Cannot access child value on Newtonsoft.Json.Linq.JProperty.

发生了。

我找不到理由。

最佳答案

你应该用数组更改 json 文件。数组键是 []。

关于C# JSON 解析器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33322332/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com