JSON序列化 解析JSON

var book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011
},
jsonText;

JSON序列化

//简单序列化 SON.stringify接受3个参数 第一个需要序列化的对象 第二个参数是一个过滤器 可以是数组也可以是一个函数
jsonText = JSON.stringify( book );

//过滤 结果只包含过滤器中的字段

jsonText = JSON.stringify( book, ["title", "edition"] );//数组
jsonText = JSON.stringify( book, function ( key, value ) {
switch ( key ) {
case "authors":
return value.join( "." ); //将authors的值 数组连接为一个字符串
case "year":
return 5000;
case "edition":
return undefined; //将edition的值设为undefined 在JSON中值为undefined的属性会被删除
default :
return value; //提供default 以便其他值能正常出现在结果中
}
} );

//缩进
jsonText = JSON.stringify( book, null, 4 ); //每个级别缩进4个字符 P568 只要设置了缩进 结果就会自动换行 易读
jsonText = JSON.stringify( book, null, "--" ); //设置缩进字符为"--"

//toJSON方法 添加toJson方法返回自身
book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011,
toJSON : function () {
return this.title;
}
};

解析JSON JSON.parse()
book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011,
releaseDate:new Date(2014,12,12)
};
jsonText=JSON.stringify(book);
var bookCopy=JSON.parse(jsonText,function(key,value){
if(key=="releaseDate"){
return new Date(value);
}else{
return value;
}
})

时间: 2024-11-09 06:30:17

JSON序列化 解析JSON的相关文章

JSON 序列化 和 JSON 反序列化

// JSON 序列化 (OC 数据转换成 JSON 数据) - (void)json { // 序列化:将OC数据类型转换成json数据类型. // 只有数组/字典才可以转换成 json 数据. NSDictionary *dict = @{@"name":@"zhangsan",@"age":@"18",@"sanwei":@"29"}; NSArray *array = @[@&q

Android原生生成JSON与解析JSON

JSON数据是一种轻量级的数据交换格式,在Android中通常应用于客户端与服务器交互之间的数据传输.像现在在网上有很多解析JSON数据的jar包,但是归根到底用的都是Android原生解析JSON数据的方式,所以掌握Android原生解析JSON数据的方法相当重要. 下面分为生成JSON数据和解析JSON数据,所用的包是org.json (1)生成JSON数据方法: 比如要生成一个这样的json文本 { "phone" : ["12345678", "8

简单实体Json序列化(输出JSON的属性可变)

一.先看效果 可以看出 , 我们在序列化一个对像时, 只给出了 我们想要 输出的两个字段名,  实际实体有5个属性, 经过可变属性序列化后的JSON 结果,也是我们想要的. 二.正式上程序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.We

JSON.parse 解析json字符串时,遇换行符报错

今天遇到后台返回的json字符串转对象时报错了,发现有个textarea提交的字段里有换行符. 错误原因:JSON.parse转json字符串时遇到一些特殊字符需要先转义,如图所示 可以用str.replace(/\n/g,"\\\\n")转义,'\\'转成单个'\','\\n'转成'\n',最后转成'\\n'这样就可以用parse转成对象时变为'\n',取出的字符串设置到html文本中\n被解析为换行. ECMA Script注明json字符串中需要转义的字符: 测试: 1.var

.net使用Newtonsoft.Json.dll解析json过程的几种特殊情况处理

.net用来解析json的库 Newtonsoft.Json.dll 按理说已十分强大,但调用人家的json总有意想不到的情况发生,你没办法要求别人传给你标准的json字符串给你下面是我遇到的几种情况及解决方法:情况1,字段中包含英文引号:{"title": "这个"笑话"一点也不好笑","flag": 0}情况2,{}开头结尾的字段前后有引号:{"content" : "{"微信&qu

GO语言练习:构建json 和 解析JSON 实例

本文介绍如何使用Go语言自带的库把对象转换为JSON格式,并在channel中进行传输后,并把JSON格式的信息转换回对象. 1.Go语言的JSON 库 Go语言自带的JSON转换库为 encoding/json 1.1)其中把对象转换为JSON的方法(函数)为 json.Marshal(),其函数原型如下 func Marshal(v  interface{}) ([]byte, error) 也就是说,这个函数接收任意类型的数据 v,并转换为字节数组类型,返回值就是我们想要的JSON数据和一

Newtonsoft.Json.dll解析json的dll文件使用

要解析的json //解析前 //解析前 {"orderlist":[{"backPrice":0,"businessId":93,"businessNotes":"","couponNo":"","createTime":{"date":9,"day":1,"hours":15,&quo

Json序列化Newtonsoft.Json版本需要7.0以上

/// <summary> /// 将DataTable 转换成JSon字符串 /// </summary> /// <param name="table"></param> /// <returns></returns> public static string DataTableToJsonWithJavaScriptSerializer(DataTable table) { JavaScriptSeriali

post请求获取json数据 解析json数据

<script> window.onload = function () { var str; // console.log(@ViewBag.ID); $.post("/ServiceBills/ServiceBills/UpdateA", { id: @ViewBag.ID}, function (data) { for (var attr in data) { // console.log(attr);//name,age,gender //console.log(d