如何正确的使用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
以上为例:
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
- 下载Newtonsoft.Json.dll/Newtonsoft.Json.Net20.dll(下方链接)
- 将其添加到项目中,并引用命名空间
声明&赋值
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?的更多相关文章
- JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson
java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...
- 使用Json.Net解决MVC中各种json操作
最近收集了几篇文章,用于替换MVC中各种json操作,微软mvc当然用自家的序列化,速度慢不说,还容易出问题,自定义性也太差,比如得特意解决循环引用的问题,比如datetime的序列化格式,比如性能. ...
- 超高性能的json序列化之MVC中使用Json.Net
先不废话,直接上代码 Asp.net MVC自带Json序列化 /// <summary> /// 加载组件列表 /// </summary> /// <param na ...
- json深度详解及org.json库
了解json (Javascript Object Notation) 网站:http://json.org/ english JSON (JavaScript Object Notation) i ...
- odoo controllers 中type="Json" 或type="http"
服务端接收参考: # 导包 from odoo import http class HttpRequest(http.Controller): @http.route('/url', type='js ...
- 仿各种APP将文章DOM转JSON并在APP中以列表显示(android、ios、php已开源)
背景 一直以来都想实现类似新闻客户端.鲜城等文章型app的正文显示,即在web editor下编辑后存为json,在app中解析json并显示正文. 网上搜过,没找到轮子.都是给的思路,然后告知是公司 ...
- 在JavaScript中使用json.js:使得js数组转为JSON编码
在json的官网中下载json.js,然后在script中引入,以使用json.js提供的两个关键方法. 1.数组对象.toJSONString() 这个方法将返回一个JSON编码格式的字符串,用来表 ...
- 如何在ASP.NET Core中使用JSON Patch
原文: JSON Patch With ASP.NET Core 作者:.NET Core Tutorials 译文:如何在ASP.NET Core中使用JSON Patch 地址:https://w ...
- 如何在Hadoop的MapReduce程序中处理JSON文件
简介: 最近在写MapReduce程序处理日志时,需要解析JSON配置文件,简化Java程序和处理逻辑.但是Hadoop本身似乎没有内置对JSON文件的解析功能,我们不得不求助于第三方JSON工具包. ...
随机推荐
- 为你带来灵感的 20 个 HTML5/CSS3 模板
1. Curve 2. Tapestry 3. Aqueous 4. Deliccio 5. Respond 1.5 6. Triangle Responsive 7. Design Company ...
- 我的java后端书架
- [VB.NET]调用API获取/设置键盘按键状态
1.调用GetAsyncKeyState()获取指定按键的状态,GetActiveKey()检索指定范围内的按键状态 2.调用keybd_event()可合成一次击键事件,通常两次击键事件间需要设定时 ...
- const 和 readonly
const 和 readonly 的异同 Const readonly 字面意 不变常量,不可修改 只读操作,不可写 初始化 必须在声明的同时赋值 可在声明和构造方法中进行赋值 所属关系 类.即sta ...
- jQuery实现AJAX定时刷新局部页面实例
本篇文章通过两种方法实例讲解ajax定时刷新局部页面,当然方法有很多种,也可以不使用ajax来刷新页面,可以使用jquery中的append来给指定内容加东西,但是都不太实用,最实用的方法还是ajax ...
- 【C#进阶系列】22 CLR寄宿和AppDomain
关于寄宿和AppDomain 微软开发CLR时,将它实现成包含在一个DLL中的COM服务器. 任何Windows应用程序都能寄宿(容纳)CLR.(简单来讲,就是CLR在一个DLL中,通过引用这个DLL ...
- MSSQL数据库的一些基础知识
转几个关于MSSQL数据库基础的文章: sql server系统表详细说明 SQL Server中系统数据库介绍 SQL Server中的角色(服务器级别和数据库级别角色)
- 【工匠大道】Git的使用总结
初衷是想将一些常用的代码整理在博客园上,但是考虑到博客园上的代码量多,需要折叠,折叠后就不能直接修改,于是想到了 大家都常用的 gitHub来进行代码的管理. 其实之前我是用过 Osa的git的,但是 ...
- jgGrid中的editrules使用函数来进行验证
jgGrid中的editrules 用于设置一些用于可编辑列的colModel的额外属性,大多数的时候是用来在提交到服务器之前验证用户的输入合法性的.比如editrules:{edithidden:t ...
- jQuery静态方法inArray,grep,merge,makeArray方法使用和源码分析
inArray方法 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 ). 示例: var arr = [ 4, "Pete", 8, "John&q ...