c#操作json

http://download.youkuaiyun.com/detail/u014625886/7251881#comment下载组件包

//使用JsonReader读Json字符串:
            string jsonText = @"{""input"" : ""value"", ""output"" : ""result""}";
            JsonReader reader = new JsonTextReader(new StringReader(jsonText));

            while (reader.Read())
            {
                Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);
            }

            //使用JsonWriter写字符串:
            StringWriter sw = new StringWriter();
            JsonWriter writer = new JsonTextWriter(sw);

            writer.WriteStartObject();
            writer.WritePropertyName("input");
            writer.WriteValue("value");
            writer.WritePropertyName("output");
            writer.WriteValue("result");
            writer.WriteEndObject();
            writer.Flush();

            jsonText = sw.GetStringBuilder().ToString();
            Console.WriteLine(jsonText);
            //使用JObject读写字符串:
            JObject jo = JObject.Parse(jsonText);
            string[] values = jo.Properties().Select(item => item.Value.ToString()).ToArray();

            //使用JsonSerializer读写对象(基于JsonWriter与JsonReader): 
            string jsonArrayText1 = "[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]";
            JArray ja = (JArray)JsonConvert.DeserializeObject(jsonArrayText1);
            string ja1a = ja[1]["a"].ToString();
            //或者
            JObject o = (JObject)ja[1];
            string oa = o["a"].ToString();

            //嵌套格式
            jsonText = "{\"beijing\":{\"zone\":\"海淀\",\"zone_en\":\"haidian\"}}";
            jo = (JObject)JsonConvert.DeserializeObject(jsonText);
            string zone = jo["beijing"]["zone"].ToString();
            string zone_en = jo["beijing"]["zone_en"].ToString();
            Console.ReadLine();

            //自定义类Project
            Project p = new Project() { Input = "stone", Output = "gold" };
            JsonSerializer serializer = new JsonSerializer();
            sw = new StringWriter();
            serializer.Serialize(new JsonTextWriter(sw), p);
            Console.WriteLine(sw.GetStringBuilder().ToString());

            StringReader sr = new StringReader(@"{""Input"":""stone"", ""Output"":""gold""}");
            Project p1 = (Project)serializer.Deserialize(new JsonTextReader(sr), typeof(Project));
            Console.WriteLine(p1.Input + "=>" + p1.Output);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值