string字符串转为json与json转对象

  //字符串转json
        public static void strJson()
        {
            string jsonText = "{\"shenzheng\":\"深圳\",\"beijing\":\"北京\",\"shanghai\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]}";
            string jsonText2 = "{\"Specificlocation\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},{\"cq1\":\"cq11\",\"cq2\":\"cq22\"}]}";
            string strjson3 = "{ address: \"CN|北京|北京|None|CHINANET|1|None\", content:{ address: \"北京市\", address_detail:{city: \"北京市\", city_code: 131,district: \"\",province: \"北京市\",  street: \"\",street_number: \"\" }, point: { x: \"116.39564504\",y: \"39.92998578\"}},status: 0}";
            string   jsonText4= "{ \"error_response\":{ \"sub_msg\":\"非法参数\", \"code\":50, \"sub_code\":\"isv.invalid-parameter\", \"msg\":\"Remote service error\"  } }";
            JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText2);//或者JObject jo = JObject.Parse(jsonText);
            //string zone = jo["shenzheng"].ToString();//输出 "深圳"
            //string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]"
            //string zj1 = jo["shanghai"][1].ToString();//输出 "zjs"

            // string zj1 =jo["Specificlocation"][0]["zj1"].ToString();  //输出 "zj11"

            //string sub_msg =jo["error_response"]["sub_msg"].ToString()  //输出 "非法参数"

            Console.WriteLine(jo["Specificlocation"].Count());
        }

        //对象与数组转JSON
        public static void GetJsonString()
        {
            //初始化对象
            Obj product = new Obj() { Name = "苹果", Price = 5.5 };
            //序列化
            string o = new JavaScriptSerializer().Serialize(product);//值:"{\"Name\":\"苹果\",\"Price\":5.5}"

            //数组转json
            List<Obj> products = new List<Obj>(){
        new Obj(){Name="苹果",Price=5.5},
        new Obj(){Name="橘子",Price=2.5},
        new Obj(){Name="干柿子",Price=16.00}
        };

    
            //序列化
            string os = new JavaScriptSerializer().Serialize(products);
            //输出 "{\"GetProducts\":[{\"Name\":\"苹果\",\"Price\":5.5},{\"Name\":\"橘子\",\"Price\":2.5},{\"Name\":\"干柿子\",\"Price\":16}]}"
            Console.WriteLine(os);
        }

        //json转对象、数组, 反序列化
        public static void JSONStringToList()
        {

            //json格式字符串
            string JsonStr = "{Name:'苹果',Price:5.5}";
            JavaScriptSerializer Serializer = new JavaScriptSerializer();

            //json字符串转为对象, 反序列化
            Obj obj = Serializer.Deserialize<Obj>(JsonStr);
            Console.Write(obj.Name + ":" + obj.Price + "\r\n");

            //json格式字符串
            string JsonStrs = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]";
            
            JavaScriptSerializer Serializers = new JavaScriptSerializer();

            //json字符串转为数组对象, 反序列化
            List<Obj> objs = Serializers.Deserialize<List<Obj>>(JsonStrs);

            foreach (var item in objs)
            {
                Console.Write(item.Name + ":" + item.Price + "\r\n");
            }
        }
 public class Obj
    {
        public string  Name { get; set; }
        public double Price { get; set; }

    }
 static  void   Main(string [] args)
  {
             strJson();
            GetJsonString();
            JSONStringToList();


        }

//输出结果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的美,让我痴迷

你的好,我会永远记住你的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值