1. 程式人生 > >c#中字串轉為json物件與json轉物件

c#中字串轉為json物件與json轉物件

using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Web.Script.Serialization;


//需要新增System.Web.Extensions.dll
 //字串轉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); } //物件與陣列轉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"); } }