2016-09-22 56 views
0

我想通过以下JSON在C#的Json形成发送它的功能

{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null, 

"valJSON":"[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]"} 

我做跟随我的控制台应用程序的参考,但它不工作

JsonSerializer serializer = new JsonSerializer(); 
      dynamic item = serializer.Deserialize<object>(" 
{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null, 

    "valJSON":"[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]"} 

"); 

任何其他方式,我可以通过这个功能? 到simplyfy

当我尝试这个分配给字符串提示错误可以任意子HLP我

+0

你得到什么样的错误?什么是不正确的工作? –

+0

编辑的问题,我想从JSON传递出去 –

回答

0

你应该从函数调用中删除对象类型:

JsonSerializer serializer = new JsonSerializer(); 
    dynamic item = serializer.Deserialize("..."); 
0

我会用Newtonsoft的解决方案,如果它是可能的,我从不后悔。

在你的情况,我会使用:

string json = @"{ 
    "val1": [ 
    "dfgdsfgdfgsdf" 
    ], 
    "val2": 258915, 
    "val3": "PPaaaA", 
    "val4": null, 
    "valJSON": "[{\"TypeID\":\"Z_FI_MDG\",\"SeverityCode\":\"3\",\"Note\":\"\\\"zczczca \\\\\\\"leading zero\\\\\\\". \\\\\\\\r\\\\\\\\n•YYY: Institution\"}]" 
}" 

dynamic rss = JObject.Parse(json); 

,然后从中获取价值,如:

var val2 = rss.val2; 

我不知道如果这就是你一直在寻找的东西,但我尝试... 了解更多:http://www.newtonsoft.com/json/help/html/QueryJson.htm

然后,如果您想了解更多如何 “安装” newtonsoft:How to install JSON.NET using NuGet?

0

如果你想解析JSON的确切类,你可以试试这个

RootObject item = JsonConvert.DeserializeObject<RootObject>(File.ReadAllText(@"D:\file.txt")); 

public class RootObject 
    { 
     public List<string> val1 { get; set; } 
     public int val2 { get; set; } 
     public string val3 { get; set; } 
     public object val4 { get; set; } 
     public string valJSON { get; set; } 
    }