什么是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

以上为例:

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

获取姓名(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. 将其添加到项目中,并引用命名空间

声明&赋值

 JObject json = new JObject(
new JProperty("name", "simoje"),
new JProperty("sex", "男"),
new JProperty("age", ),
new JProperty("is_marry", false),
new JProperty("childrens",null),
new JProperty("friends",
new JArray(
new JValue("tom"),
new JValue("anly"),
new JValue("kobe"))),
new JProperty("friends_age",
new JArray(
new JProperty("tom", ),
new JProperty("anly", ),
new JProperty("kobe", ))));

访问&修改

获取姓名(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(, f.Length - );

获取tom的年龄(friends_age)

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

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

以上。

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

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

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

  1. JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson

    java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...

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

    最近收集了几篇文章,用于替换MVC中各种json操作,微软mvc当然用自家的序列化,速度慢不说,还容易出问题,自定义性也太差,比如得特意解决循环引用的问题,比如datetime的序列化格式,比如性能. ...

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

    先不废话,直接上代码 Asp.net MVC自带Json序列化 /// <summary> /// 加载组件列表 /// </summary> /// <param na ...

  4. json深度详解及org.json库

    了解json  (Javascript Object Notation) 网站:http://json.org/ english JSON (JavaScript Object Notation) i ...

  5. odoo controllers 中type="Json" 或type="http"

    服务端接收参考: # 导包 from odoo import http class HttpRequest(http.Controller): @http.route('/url', type='js ...

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

    背景 一直以来都想实现类似新闻客户端.鲜城等文章型app的正文显示,即在web editor下编辑后存为json,在app中解析json并显示正文. 网上搜过,没找到轮子.都是给的思路,然后告知是公司 ...

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

    在json的官网中下载json.js,然后在script中引入,以使用json.js提供的两个关键方法. 1.数组对象.toJSONString() 这个方法将返回一个JSON编码格式的字符串,用来表 ...

  8. 如何在ASP.NET Core中使用JSON Patch

    原文: JSON Patch With ASP.NET Core 作者:.NET Core Tutorials 译文:如何在ASP.NET Core中使用JSON Patch 地址:https://w ...

  9. 如何在Hadoop的MapReduce程序中处理JSON文件

    简介: 最近在写MapReduce程序处理日志时,需要解析JSON配置文件,简化Java程序和处理逻辑.但是Hadoop本身似乎没有内置对JSON文件的解析功能,我们不得不求助于第三方JSON工具包. ...

随机推荐

  1. 在AngularJS中的使用Highcharts图表控件

    一.Highcharts简介 Highcharts是一款非常好用的前端图表控件,正如其中文网介绍的那样:功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库. 如果你的项目是基于jquer ...

  2. 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义

    创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问它,代码如下: namespace ConsoleApplication1 { class Program { static ...

  3. PetaPoco利用ODP.NET Managed Driver连接Oracle

    大概几年之前用PetaPoco做过一个Oracle的项目,开发的时候还需要安装oracle的client,非常麻烦.调试好环境后,一直到项目结束都不敢重装系统.最近又有一个需求需要读取oracle,可 ...

  4. sqlserver 通用分页存储过程(转)

    USE [AAA_TYDC] GO /****** Object: StoredProcedure [dbo].[proc_DataPagination] Script Date: 11/20/201 ...

  5. 关于大数据企业信息查询的API该怎么写

    最近在看API相关的案例,做的是.net开发的工作 对API开发这块很是迷茫,不知道从哪入手,园子里面的朋友有没有研究这块的给点建议 公司目前准备做一款企业数据查询的网站,让我负责API接口这块,基于 ...

  6. java timer 执行任务

    1. 建立timer import java.util.Timer; import java.util.TimerTask; public class Start { public class Sta ...

  7. C标准头文件<stdio.h>

    是很多人学C语言接触的第一个头文件,顾名思义,stdio就是"标准输入输出",其中声明了一组关于输入输出的类型,宏和函数,其中就包括了打印著名的"hello,world! ...

  8. 14、ASP.NET MVC入门到精通——Ajax

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Unobtrusive Ajax使用方式(非入侵式) 非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 ...

  9. Easticsearch通信方式_API

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch概念 a. Elasticsearch是一个基于Luc ...

  10. jQuery弹出关闭遮罩层

    效果体验:http://keleyi.com/keleyi/phtml/jquery/9.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...