如何正确的使用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 }

获取姓名(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

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

时间: 2024-09-29 23:29:31

如何正确的使用json?如何在.Net中使用json?的相关文章

使用Json.Net解决MVC中各种json操作

最近收集了几篇文章,用于替换MVC中各种json操作,微软mvc当然用自家的序列化,速度慢不说,还容易出问题,自定义性也太差,比如得特意解决循环引用的问题,比如datetime的序列化格式,比如性能.NewtonSoft.json也就是Json.Net性能虽然不是最好的,但是是比较靠前的,其功能是最强大的,包含各种json操作模式.现在来看看mvc中的替换1, Controller.Json方法这个方法最容易出现循环引用,比如EF查出一个一对多集合想序列化,结果a引用了子表b,b中还引用了a,导

如何在Notepad++中格式化json?

下载Jsonviewer2.dll,https://github.com/zbeboy/Jsonviewer2/releases 把Jsonviewer2.dll复制到C:\Program Files\Notepad++\plugins 原文地址:https://www.cnblogs.com/renguanyu/p/12230335.html

超高性能的json序列化之MVC中使用Json.Net

先不废话,直接上代码 Asp.net MVC自带Json序列化 1 /// <summary> 2 /// 加载组件列表 3 /// </summary> 4 /// <param name="departmentId">作业部/厂</param> 5 /// <param name="unitId">组件Id</param> 6 /// <param name="tag&quo

odoo controllers 中type=&quot;Json&quot; 或type=&quot;http&quot;

服务端接收参考: # 导包 from odoo import http class HttpRequest(http.Controller): @http.route('/url', type='json', auth='public', website=True) def server_method(self, *args, **kwargs): # *args, **kwargs接收参数 pass # route中的参数可以参考odoo/http.py文件里def route(route=N

PHP中的JSON

什么是JSON 全称 JavaScript Object Notation,是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式. JSON语法规则 JSON 语法是 JavaScript 对象表示语法的子集 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 key和value一定要用双引号(不是单引号),否则会出现解析异常 JSON 值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数

在JavaScript中使用json.js:使得js数组转为JSON编码

在json的官网中下载json.js,然后在script中引入,以使用json.js提供的两个关键方法. 1.数组对象.toJSONString() 这个方法将返回一个JSON编码格式的字符串,用来表示类型中的数据. 演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

仿各种APP将文章DOM转JSON并在APP中以列表显示(android、ios、php已开源)

背景 一直以来都想实现类似新闻客户端.鲜城等文章型app的正文显示,即在web editor下编辑后存为json,在app中解析json并显示正文. 网上搜过,没找到轮子.都是给的思路,然后告知是公司项目不好分享代码,所以干脆就自己做. 例子给的ui很粗,以实现功能为目的,你要有兴趣可以star等我更新. 输出的效果看起来是如上图所示.包括web的编辑器.ios.android.没做ui美化. 原理 web端 只是为了验证功能,所以信息包括标题.内容.其他数据都是模拟的,输出的json格式看起来

如何在 Swift 中优雅地处理 JSON

阅读目录 在Swift中使用JSON的问题 开始 基础用法 枚举(Enumeration) 下标(Subscripts) 打印 调试与错误处理 后记 因为Swift对于类型有非常严格的控制,它在处理JSON时是挺麻烦的,因为它天生就是隐式类型.SwiftyJSON是一个能帮助我们在Swift中使用JSON的开源类库.开始之前,让我们先看一下在Swift中处理JSON是多么痛苦. 在Swift中使用JSON的问题 以Twitter API为例.使用Swift,从tweet中取得一个用户的“name

如何在Shell 中正确的传递函数返回值

Debug 的过成比较无聊,所以这里先上结论和示例,Debug 的笔记看不看并没有什么乱用. 结论 在shell 中使用返回值,唯一具有通用性的方法是使用全局变量,或者使用echo 并在父进程中接收. return 语句不能用来传递计算结果--return 语句是用来传递函数退出状态的,在几乎所有情况下,你的计算结果都不会是退出状态! 任何违反上面规则的shell 脚本,都不具有通用性. 示例 #!/usr/bin/env bash # =============================