当前位置:  开发笔记 > 编程语言 > 正文

解析JSON响应的最简单方法

如何解决《解析JSON响应的最简单方法》经验,为你挑选了3个好方法。

有没有简单的方法在c#下面解析JSOn

{"type":"text","totalprice":"0.0045","totalgsm":"1","remaincredit":"44.92293","messages": [
{"status":"1","messageid":"234011120530636881","gsm":"923122699633"}
]}

如果有多个结果.



1> Patrick Hofm..:

跟着这些步骤:

    使用json2csharp.com将您的JSON转换为C#;

    创建一个类文件并将上面生成的代码放在那里;

    Newtonsoft.Json使用Nuget Package Manager 将库添加到项目中;

    使用以下代码转换从您的服务收到的JSON:

     RootObject r = JsonConvert.DeserializeObject(json);
    

(随意重命名RootObject为更有意义的东西.其他类应保持不变.)



2> Łukasz Trzew..:

您可以安全地使用内置JavaScriptSerializer而无需引用其他第三方库:

var ser = new System.Web.Script.Serialization.JavaScriptSerializer();
ser.DeserializeObject(json);


如果你只是做一个简单的解析或者你根本不想使用第三方库,IMO就是这样的.
这对我很有帮助.DeserializeObject返回了Dictionary 类型的对象.字典中的对象是字符串,对象数组或Dictionary 的更多对象

3> 小智..:

我找到了一种无需使用任何外部API即可获取的方法

        using (var w = new WebClient())
        {
            var json_data = string.Empty;
            string url = "YOUR URL";
            // attempt to download JSON data as a string
            try
            {
                json_data = w.DownloadString(url);
                JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
                var result = jsSerializer.DeserializeObject(json_data);
                Dictionary obj2 = new Dictionary();
                obj2=(Dictionary)(result);

                string val=obj2["KEYNAME"].ToString();
            }
            catch (Exception) { }
            // if string with JSON data is not empty, deserialize it to class and return its instance 
        }

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有