我有关于JSON Parse和Jarray.Lenght的问题。
我的目标是在这个应用程序:
metin
变量是我的搜索字符串。示例我写" DDDDDD&#34 ;;软件在JSON文件中搜索,这是" DDDDD"并编写控制台DDDDD的功能。
string data = File.ReadAllText(@"xxxxxxxxxxxxxx");
JArray JSONParser = JArray.Parse(data);
String aranacakisim = "metin";
for (int i = 0; i <= JSONParser.lenght; i++) //fail line."Lenght"is not true.
{
if (JSONParser[i]["Ad"]=aranacakisim) //fail line
{
Console.WriteLine("Ad: " + JSONParser[i]["Ad"]);
Console.WriteLine("Soyad: " + JSONParser[i]["Soyad"]);
Console.WriteLine("Bolum: " + JSONParser[i]["Bolum"]);
Console.WriteLine("Sehir:" + JSONParser[i]["Sehir"]);
Console.WriteLine("Sehir:" + JSONParser[i]["Telefon"]);
}
Console.ReadKey();
JSON CODE
[
{
"Ad": "Ali Kemal",
"Soyad": "Sipahi",
"Bolum": "Bilgisayar Muhendisligi",
"Sehir": "Ankara",
"Telefon": "05000000000"
},
{
"Ad": "Neslihan",
"Soyad": "Yağmur",
"Bolum": "Tıp Fakültesi",
"Sehir": "Malatya",
"Telefon": "05000000001"
}
]
如何修复此错误?请写一个真正的代码。我会疯了。非常感谢你! / 抱歉英文不好 /
错误评论
&#39; Newtonsoft.Json.Linq.JToken&#39;不能隐含地转换为&#39; bool&#39;。有明确的转换(你有不完整的转让吗?)
Jarray没有长度定义,也没有长度定义&#39;可以找到接受Jarray类型
中的第一个参数的扩展方法答案 0 :(得分:0)
第一个错误是由于JArray
类没有任何名为length
的属性。但是查看the documentation of the JArray class from Newtonsoft,您可以看到有Count
属性。因此,以下代码段应该有效:
for (int i = 0; i <= JSONParser.Count; i++)
您获得的第二个错误很可能是拼写错误,而不是比较您分配值的值(即您使用的是=
而不是==
)。对于这种情况,以下代码段应该有效:
if ((string)JSONParser[i]["Ad"] == aranacakisim)