zoukankan      html  css  js  c++  java
  • 如何正确的使用json?如何在.Net中使用json?

    什么是json

    json是一种轻量级的数据交换格式,由N组键值对组成的字符串,完全独立于语言的文本格式。

    为什么要使用json

    在很久很久以前,调用第三方API时,我们通常是采用xml进行数据交互,但往往xml包含更多冗余的标记字符,在传输较大数据时,相较于xml,json显得更加简洁,轻量。

    与此同时,javascript能更好的支持json,以及它更加便捷的解析方式,这使得我们在编程过程中能够更加方便,快捷的进行开发。

    慢慢地,我们已经渐渐向json转变,越来越多的人开始使用json进行数据交互了。

    当然,在选择json和xml的过程,实际上是以API的交互方式为准的。

    如何创建json

    json由N组键值对(名称/值对)组成。

     

    一般格式:

    {key:value,key:value,...}

    其中key是名称,value就是值对。

     

    举个例子:

    {
        "name": "simoje",
        "sex": "男",
        "age": "10",
        "is_marry": false,
        "childrens": null,
        "friends": [
            "tom",
            "anly",
            "kobe"
        ],
        "friends_age": [
            {
                "tom": 11
            },
            {
                "anly": 10
            },
            {
                "kobe": "10"
            }
        ]
    }

     

    json支持类型:

    • 数值
    • 逻辑值
    • 数组
    • 对象
    • null

     

    如何访问以及修改json

    以上为例:

     1 var json = 
     2 {
     3     "name": "simoje",
     4     "sex": "男",
     5     "age": "10",
     6     "is_marry": false,
     7     "childrens": null,
     8     "friends": [
     9         "tom",
    10         "anly",
    11         "kobe"
    12     ],
    13     "some": [
    14         {
    15             "tom": 11
    16         },
    17         {
    18             "anly": 10
    19         },
    20         {
    21             "kobe": "10"
    22         }
    23     ]
    24 }
    View Code

     

    获取姓名(name)

    var name = json["name"];

     

    获取所有的朋友(friends)

    var friends = json["friends"];
    var f = "";
    foreach(var item in firends){
        f += item + ",";
    }
    
    f = f.subString(0, f.length - 1);

    这样就得到了所有的朋友:tom,anly,kobe

     

    获取tom的年龄(friends_age)

    var tom_age = json["friends_age"][0]["tom"];

     

    以上便是json的构造与使用方式了。

     

    如何在.Net中使用json

    1. 下载Newtonsoft.Json.dll/Newtonsoft.Json.Net20.dll(下方链接)
    2. 将其添加到项目中,并引用命名空间

    声明&赋值

     1 JObject json = new JObject(
     2     new JProperty("name", "simoje"),
     3     new JProperty("sex", ""),
     4     new JProperty("age", 10),
     5     new JProperty("is_marry", false),
     6     new JProperty("childrens",null),
     7     new JProperty("friends",
     8         new JArray(
     9             new JValue("tom"),
    10             new JValue("anly"),
    11             new JValue("kobe"))),
    12     new JProperty("friends_age",
    13         new JArray(
    14             new JProperty("tom", 11),
    15             new JProperty("anly", 10),
    16             new JProperty("kobe", 10))));

     

    访问&修改

    获取姓名(name)

    var name = json["name"].ToString();

     

    获取所有的朋友(friends)

    JArray friends_ja = JArray.Parse(json["friends"].ToString());
    var f = string.Empty;
    foreach (JValue item in friends_ja)
    {
        f += item.ToString() + ",";
    }
    
    f = f.Substring(0, f.Length - 1);

     

    获取tom的年龄(friends_age)

    var friends_age_ja = JArray.Parse(json1["friends_age"].ToString());
    var tom_age = friends_age_ja[0]["tom"].ToString();

     

    在实际开发过程中,我们很可能会遇到很多问题,但只要我们能灵活运用json,它会给我们带来很多意想不到的快乐和惊喜。

    以上。

     

    链接:http://pan.baidu.com/s/1ntMldJ7 提取密码:892s

    如遇到如何问题,请在下方留言;如有任何建议与见解,欢迎指正。

    ...
  • 相关阅读:
    git 的安装与初始化
    django的ORM
    elasticsearch基本使用
    给django视图类添加装饰器
    python的编码
    为django项目配置celery的后台启动
    django+celery +rabbitmq
    hadoop安装
    django中间件
    Blockchain For Dummies(IBM Limited Edition
  • 原文地址:https://www.cnblogs.com/simoje/p/4766215.html
Copyright © 2011-2022 走看看