C#直接解析Json键值对

string test_json = "{\"name\":\"tom\",\"nickname\":\"tony\",\"sex\":\"male\",\"age\":20,\"email\":\"[email protected]\"}";
    var o = JObject.Parse(yourJsonString);  

                foreach (JToken child in o.Children())
                {
                    var property1 = child as JProperty;
                    MessageBox.Show(property1.Name + ":" + property1.Value);
    }  

多层Json

    var o = JObject.Parse(yourJsonString);  

    foreach (JToken child in o.Children())
    {
        //var property1 = child as JProperty;
        //MessageBox.Show(property1.Name + ":" + property1.Value);
        foreach (JToken grandChild in child)
        {
            foreach (JToken grandGrandChild in grandChild)
            {
                var property = grandGrandChild as JProperty;
                if (property != null)
                {
                    MessageBox.Show(property.Name + ":" + property.Value);
                }
            }
        }
    }  

用Newtonsoft.Json.dll

string str = @"{

""data"":

{

""mobile"":

{

""platform"":""2.2"",

""model"":""generic|sdk"",

""versioncode"":""20111125"",

""versionname"":""1.2.0"",

""web_domain"":""http://www.baidu.com"",

""ip"":"""",

""dns1"":"""",

""dns2"":"""",

""channel_id"":""0""

}

}

}";

            JavaScriptObject json = (JavaScriptObject)JavaScriptConvert.DeserializeObject(str);

            JavaScriptObject data = (JavaScriptObject)json["data"];

            JavaScriptObject mobile = (JavaScriptObject)data["mobile"];

            Console.WriteLine("{0} {1} {2}", mobile["platform"], mobile["model"], mobile["versioncode"]);

当然,如果有承接类也可以直接反序列化成承接类。

原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9204455.html

时间: 2024-11-13 17:08:39

C#直接解析Json键值对的相关文章

bobo jquery遍历json键值对

[javascript] view plaincopy var jsonStr = {"customer_name":"大发粮油加工厂","customer_id":"1","y":"45646","stop_date":"2030-01-01 00:00:00.0","data_guid":"13sd13f1s3df

亲,您的json键值对用双引号了吗?

JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. 那么,JSON到底是什么? JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一个数组或对象) 所以 {"name": "Michael"} 可以理解为是一个包含name为M

ios 解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为<null>无法保存在userDefault的问题

解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为<null>无法保存在userDefault. 打印下得到的字典数据: “username”=<null> 此时如果将字典保存到userDefault中会报错 所以需要遍历字典将其替换 for (NSString*s in [Dict1 allKeys]) { if ([Dict1[s] isEqual:[NSNull null]]) { [Dict1 setObject:@""

大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Core 实例练习

第1章 RDD 概念1.1 RDD 为什么会产生1.2 RDD 概述1.2.1 什么是 RDD1.2.2 RDD 的属性1.3 RDD 弹性1.4 RDD 特点1.4.1 分区1.4.2 只读1.4.3 依赖1.4.4 缓存1.4.5 CheckPoint第2章 RDD 编程2.1 RDD 编程模型2.2 RDD 创建2.2.1 由一个已经存在的 Scala 集合创建,即集合并行化(测试用)2.2.2 由外部存储系统的数据集创建(开发用)2.3 RDD 编程2.3.1 Transformatio

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对&lt;name&amp;value&gt;格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric

java代码解析json对象获取json对象属性值

说明:解析JSON需要用到 org.json.jar 架包,下载地址:http://download.csdn.net/detail/wtingting5211314/7641749 代码如下: package com.ultrapower.syn.webservice.test; import org.json.JSONArray;import org.json.JSONObject; public class TestJson { /**  * @param args  */ public

键值对参数转换为Jquery json data参数

键值对:var postData = new List<KeyValuePair<string, string>>();postData.Add(new KeyValuePair<string, string>("a", "1"));postData.Add(new KeyValuePair<string, string>("b", "2"));postData.Add(new

嵌套的for循环执行顺序。可以让内外for循环交替执行。简单解析json数组。求js中两个时间差值。

1.刚接到不久的工作任务,其中包含一个解析json数组,然后让解析后的数据显示在用zrender画出来的矩形上.效果如下所示(注:没有实际意义) 2.至于zrender等空闲了一定写上使用心得,东西很强大. 3.中间有一项是算计相邻的两个时间的时间差(所有这些时间都是在一个数组里),如图所示,算计相邻两个矩形上时间的差值.延伸一下可以是算一个数组里相邻两个数字的差值. 贴上我的代码 :  for (var m = 0; m < dataObj.length - 1; m++) {        

不知道属性名称,动态遍历json中的所有键值对

javascript中使用ajax技术访问后台资源的时候,常常使用json作为轻量级数据传输格式.json类似于java中的HashMap, 是由一系列的key-value键值对构成.如果后台返回给前台的json中key的值是动态生成的,那么我们没有办法使用常规 的object.name或object["name"]的方式来获取json中的值.这个时候我们需要在不知道属性名称的时候,遍历json对象 ,可以使用如下方式: var jsonObj = {"55":&q