【问题标题】:Parse JSON string using C#使用 C# 解析 JSON 字符串
【发布时间】:2018-09-13 18:58:58
【问题描述】:

我正在尝试在 C# 解决方案中解析 JSON 字符串,但我无法获取以:",[["bd felek",0],["bdm",0],["bd",0],["bdz",

开头的内部/嵌套数组
["bd",[["bd felek",0],["bdm",0],["bd",0],["bdz",0,[131]],["bd fleke",0],["bd felek dfdf",0],["bdz dance practice",0,[3]],["bdz twice live",0,[131]],["bdo",0,[131]],["bd mawlaya",0]],{"a":"Uwt304b6at0ZtuU8mv8D5AyWS8wg6AQJQbYlPPS8knOVvcG","e":"1","j":"6l","k":1,"q":"ZQXxB0vG-GaPEF2RNib3gbVRXt0"}]
    var jsonser = new JavaScriptSerializer();

            var obj = jsonser.Deserialize<dynamic>(SourceCodeTxt.Text);

            foreach (var x in obj)

            {

                // MessageBox.Show(x);
                String strvalue = x["value"];

            }
        }

【问题讨论】:

  • 你应该使用 JSON.NET,而不是 JavaScriptSerializer
  • 就像@RonBeyer 说的,使用Json.NET。 The docs for JavaScriptSerializer 甚至告诉你使用 Json.NET

标签: c# .net json parsing


【解决方案1】:

您的代码应该查看反序列化对象的第二个索引 (1):

foreach (var x in obj[1])
{
    var value1 = x[0]; // bd felek
    var value2 = x[1]; // 0                               
}

【讨论】:

    【解决方案2】:

    您想使用 JSON.NET 更好地处理 JSON。那么您可以简单地执行以下操作:

    using Newtonsoft.Json.Linq;
    
    ... 
    
    JToken obj = JToken.Parse(/* Your JSON string goes in here */);
    foreach (var x in obj[1])
    {
        var value1 = x[0]; // bd felek
        var value2 = x[1]; // 0                               
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2018-04-27
      相关资源
      最近更新 更多