c#字符串转为json对象与json转对象

using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Web.Script.Serialization;
//使用JavaScriptSerializer()方式转json,需要添加System.Web.Extensions.dll最低的	frameword3.5版本才有该dll
//使用JsonConvert方式需要Newtonsoft.dll;引用Newtonsoft.Json,frameword2.0也可以用
//字符串转json
    public static void strJson()
    {            
        string jsonText = "{\"shenzheng\":\"深圳\",\"beijing\":\"北京\",\"shanghai\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]}";            
        //转为json对象            
        JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);           
        string zone = jo["shenzheng"].ToString();//输出 深圳            
        string zone_en = jo["shanghai"].ToString();//"[\r\n  {\r\n    \"zj1\": \"zj11\",\r\n    \"zj2\":            
        \"zj22\"\r\n  },\r\n  \"zjs\"\r\n]"           
        string zj1 = jo["shanghai"][1].ToString();//"zjs"           
        Console.WriteLine(jo);
   
    }

	//JsonConvert方式的集合转json  	
	string jo =JsonConvert.SerializeObject(ListUserInfoModel);
    //对象与数组转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}
        };

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

    //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");
        }
    }  
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值