【问题标题】:JArray ProblemsJArray 问题
【发布时间】:2017-06-01 11:45:51
【问题描述】:

我有关于 JSON Parse 和 Jarray.Lenght 的问题。 我的目标是在这个应用程序中: metin 变量是我的搜索字符串。示例我写“DDDDDD”; SOFTWARE 在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"
         }
       ]

如何解决此错误?请写一个真实的代码。我会疯的。非常感谢! /抱歉英语不好/

错误评论

'Newtonsoft.Json.Linq.JToken' 不能隐式转换为 'bool'。有一个显式转换(你有一个不完整的分配吗?)

Jarray 没有长度定义,并且找不到接受 Jarray 类型中的第一个参数的“长度”扩展方法

【问题讨论】:

  • 发布您的 json ii 是了解您的问题的最佳方式
  • 编辑了这个谢谢
  • “我该如何解决这个错误?” > 什么错误?我无法在您的帖子中找到错误。您能否尝试更详细地解释您的实际问题?
  • Jarray 没有长度定义,并且找不到接受 Jarray 类型中第一个参数的“长度”扩展方法 //error's comment
  • 'Newtonsoft.Json.Linq.JToken' 不能隐式转换为 'bool'。有一个显式转换(你有一个不完整的分配吗?)

标签: c# arrays json parsing


【解决方案1】:

第一个错误是由于JArray 类没有任何名为length 的属性。但是查看the documentation of the JArray class from Newtonsoft 你可以看到有一个Count 属性。所以下面的 sn-p 应该可以工作:

for (int i = 0; i &lt;= JSONParser.Count; i++)

您得到的第二个错误很可能是拼写错误,而不是比较您分配的值(即您使用的是= 而不是==)。对于这种情况,以下 sn-p 应该可以工作:

if ((string)JSONParser[i]["Ad"] == aranacakisim)

【讨论】:

  • 谢谢你,但没有修复。你的第二行不起作用:)
  • 错误 CS0019 '==' 运算符不能应用于 'JToken' 和 'string' 类型的操作数
  • @AliKemalSipahi 啊,我忘了将值转换为字符串。我已经更新了我的答案,现在应该可以了。
  • 你是第一名!非常感谢!我的氧气就是这样。
猜你喜欢
  • 1970-01-01
  • 2017-06-05
  • 2017-11-23
  • 2020-11-12
  • 2014-08-11
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多