tnblog
首页
视频
资源
登录

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

6765人阅读 2020/6/10 17:58 总访问:185243 评论:0 收藏:0 手机
分类: .Net


  1.   //字符串转json
  2.         public static void strJson()
  3.         {
  4.             string jsonText = "{\"shenzheng\":\"深圳\",\"beijing\":\"北京\",\"shanghai\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]}";
  5.             string jsonText2 = "{\"Specificlocation\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},{\"cq1\":\"cq11\",\"cq2\":\"cq22\"}]}";
  6.             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}";
  7.             string   jsonText4= "{ \"error_response\":{ \"sub_msg\":\"非法参数\", \"code\":50, \"sub_code\":\"isv.invalid-parameter\", \"msg\":\"Remote service error\"  } }";
  8.             JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText2);//或者JObject jo = JObject.Parse(jsonText);
  9.             //string zone = jo["shenzheng"].ToString();//输出 "深圳"
  10.             //string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]"
  11.             //string zj1 = jo["shanghai"][1].ToString();//输出 "zjs"
  12.             // string zj1 =jo["Specificlocation"][0]["zj1"].ToString();  //输出 "zj11"
  13.             //string sub_msg =jo["error_response"]["sub_msg"].ToString()  //输出 "非法参数"
  14.             Console.WriteLine(jo["Specificlocation"].Count());
  15.         }
  16.         //对象与数组转JSON
  17.         public static void GetJsonString()
  18.         {
  19.             //初始化对象
  20.             Obj product = new Obj() { Name = "苹果", Price = 5.5 };
  21.             //序列化
  22.             string o = new JavaScriptSerializer().Serialize(product);//值:"{\"Name\":\"苹果\",\"Price\":5.5}"
  23.             //数组转json
  24.             List<Obj> products = new List<Obj>(){
  25.         new Obj(){Name="苹果",Price=5.5},
  26.         new Obj(){Name="橘子",Price=2.5},
  27.         new Obj(){Name="干柿子",Price=16.00}
  28.         };
  29.     
  30.             //序列化
  31.             string os = new JavaScriptSerializer().Serialize(products);
  32.             //输出 "{\"GetProducts\":[{\"Name\":\"苹果\",\"Price\":5.5},{\"Name\":\"橘子\",\"Price\":2.5},{\"Name\":\"干柿子\",\"Price\":16}]}"
  33.             Console.WriteLine(os);
  34.         }
  35.         //json转对象、数组, 反序列化
  36.         public static void JSONStringToList()
  37.         {
  38.             //json格式字符串
  39.             string JsonStr = "{Name:'苹果',Price:5.5}";
  40.             JavaScriptSerializer Serializer = new JavaScriptSerializer();
  41.             //json字符串转为对象, 反序列化
  42.             Obj obj = Serializer.Deserialize<Obj>(JsonStr);
  43.             Console.Write(obj.Name + ":" + obj.Price + "\r\n");
  44.             //json格式字符串
  45.             string JsonStrs = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]";
  46.             
  47.             JavaScriptSerializer Serializers = new JavaScriptSerializer();
  48.             //json字符串转为数组对象, 反序列化
  49.             List<Obj> objs = Serializers.Deserialize<List<Obj>>(JsonStrs);
  50.             foreach (var item in objs)
  51.             {
  52.                 Console.Write(item.Name + ":" + item.Price + "\r\n");
  53.             }
  54.         }
  55.  public class Obj
  56.     {
  57.         public string  Name { getset; }
  58.         public double Price { getset; }
  59.     }
  60.  static  void   Main(string [] args)
  61.   {
  62.              strJson();
  63.             GetJsonString();
  64.             JSONStringToList();
  65.         }
  66. ```


//输出结果:


评价

Unable to get the local Boot2Docker ISO version: Did not find prefix "-v" in version string

我已经从 github 上下载 v19.03.12 的镜像到 vps 然后拖回本地放在 C:\Users\Administrator.docker\machine\cache 下了。依...

1.0 strings包

1.0 strings包作为一种基本数据结构,每种语言都有一些对于字符串的预定义处理函数。go中只用 `strings` 来完成对字符串的...

.NetCore string转换DateTime

string[] format = { &quot;MM/dd/yyyy hh:mm:ss tt&quot;, &quot;M/dd/yyyy hh:mm:ss tt&quot;, &quot;MM/...

string 类01

1、2、案例

string 类创建字符串地下的区别对比02

1、1.2、2、2.13、总结4、特殊例题4.1在内存的结构4.2

string 的比较03

1、案例

string的遍历04

1、案例2、案例

stringBuilder提高效率的原理图

1、string用加号拼接的原理图注意:方法区其实不是在堆内存里面的2、3、StringBuilder和String的区别

.net liststring 转listint。.net 字符串集合转Int集合。.net string集合转int集合。.net list string转list int。list string 转list double

.net list string 转list int代码如下: var strList = new List&lt;string&gt;{&quot;1&quot;,&quot;2&quot;,&quot;3&quo...

.net c ExpandoObject 构建动态类型。键值对Dictionarystring object转化成ExpandoObject

利用键值对Dictionary动态构建ExpandoObject,ExpandoObject中包含了与字典相同的键值对作为属性 using System; using S...
人若没梦想,那跟咸鱼有啥样
排名
20
文章
32
粉丝
7
评论
21
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
如果温柔是罪,那就只能用拳头来洗清我们犯下的罪孽。