js解析与序列化json数据(三)json的解析探讨
这一节我们主要讨论json的解析。
JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将早每个键值对上调用。为了区别JSON.stringify()接收的替换(过滤)函数(replacer),这个函数被称作还原函数(reviver),但实际上这两个函数的签名是相同的——它们都接收连个参数,一个键和一个值,而且都需要返回一个值。
如果还原函数返回undefined,则表示要从结果中删除相应的键;如果返回其他值,则将该值插入到结果中。如:
代码如下:
<html>
<head>
<title></title>
<script type="text/javascript">
function init()
{
var student={
name:"Bill",
birthDate:new Date(1990,8,4)
};
var jsonText=JSON.stringify(student);
var studentObject=JSON.parse(jsonText,function(key,value){
if(key=="birthDate")
{
return new Date(value);
}
else
{
return value;
}
});
}
</script>
</head>
<body>
<input type="button" onclick="init()" value="测试" />
</body>
</html>
以上代码先是为student添加了出生日期birthDate属性,该属性保存着一个Date对象。这个对象在经过序列化之后变成了有效地JSON字符串,然后经过解析又在studentObject中还原为一个Date对象。
相关推荐
-
JSON与js对象序列化实例详解
本文实例讲述了JSON与js对象序列化.分享给大家供大家参考,具体如下: JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语言无关,它可以用于在现在所有的编程语言编写的应用程序之间进行数据交换.是一种文本格式,比较容易读写. JSON是一个容纳"名/值"对的无序集合,名字可以是任意字符串,值可以使任意的JSON类型的值.大多数编程语言都有
-
js解析与序列化json数据(二)序列化探讨
上一节我们讲解了JSON.stringify()的基本用法,这一节我们来重点探讨一下序列化. JSON.stringify()除了要序列化的js对象外,还可以接收另外两个参数,这两个参数用于指定不同方式序列化js对象.第一个参数是过滤器,可以使一个数组,也可以是一个函数:第二个参数是一个选项,表示是否在JSON字符串中保留缩进.单独或组合使用这两个参数,可以更全面深入地控制JSON的序列化. 1.过滤结果 如果过滤器参数是数组,那么JSON.stringify()的结果中将只包含数组中列出的属性
-
Jquery 组合form元素为json格式,asp.net反序列化
作者:敖士伟 Email:ikmb@163.com 转载注明作者 说明: 1.js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据. 2.后端ASP.NET用JavaScriptSerializer反序列化为对象实列. 3.好处:简化了前端数据读取与后端数据赋值. 复制代码 代码如下: function GetJSONStr(class_name) { var a = []; //文本框 $("." +
-
js解析与序列化json数据(一)json.stringify()的基本用法
早期的JSON解析器基本上就是使用JavaScript的eval()函数.由于JSON是JavaScript语法的自己,因此eval()函数可以解析.解释并返回JavaScript的对象和数组. ECMAScript 5对解析JSON的行为进行了规范,定义了全局对象JSON. JSON对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript.例如: 新建一个HTML
-
Json序列化和反序列化方法解析
复制代码 代码如下: /// <summary> /// Json序列化,用于发送到客户端 /// </summary> public static string ToJsJson(this object item) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType()); using (MemoryStr
-
JS实现json的序列化和反序列化功能示例
本文实例讲述了JS实现json的序列化和反序列化功能.分享给大家供大家参考,具体如下: 序列化: var s = new Object(); s.Name = "clientValue"; s.Id = 1; s.ClassId = 2; var data = JSON.stringify(s); console.log(data); 反序列化: eval将字符串反序列化成对象 var s = eval('(' + data+ ')'); console.log(s.Name); 完整
-
JSON键值对序列化和反序列化解析
什么是JSON? JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write and easy for machines to parse and generate. JSON is a text format that is completely language independent. 翻译:Json[javascrip
-
JSON序列化与解析原生JS方法且IE6和chrome测试通过
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu
-
浅析JSON序列化与反序列化
方法一:引入System.Web.Script.Serialization命名空间使用 JavaScriptSerializer类实现简单的序列化序列化类:Personnel 复制代码 代码如下: public class Personnel { public int Id { get; set; } public string Name { get; set; } } 执行序列化反序列化: 复制代码 代码如下: prote
-
js解析与序列化json数据(三)json的解析探讨
这一节我们主要讨论json的解析. JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将早每个键值对上调用.为了区别JSON.stringify()接收的替换(过滤)函数(replacer),这个函数被称作还原函数(reviver),但实际上这两个函数的签名是相同的--它们都接收连个参数,一个键和一个值,而且都需要返回一个值. 如果还原函数返回undefined,则表示要从结果中删除相应的键:如果返回其他值,则将该值插入到结果中.如: 复制代码 代码如下: <html> &l
-
详解Java中JSON数据的生成与解析
一.什么是JSON JSON: JavaScript Object Notation JS对象简谱,是一种类似于XML的语言.相比于XML,它更小.更快.更易解析.主要用于项目前端和Server的网络数据传输. 二.JSON的语法 对象 一个对象,由一个大括号表示{},{}中通过一个个的键值对来描述对象的属性 注意: 键与值之间使用冒号连接,多个键值对之间使用逗号分隔. 键值对的键,应使用引号引住(通常Java解析时,键不使用引号会报错,而JS能正确解析):键值对的值,可以是JS中的任意数据类型
-
JS中Json数据的处理和解析JSON数据的方法详解
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以&quo
-
Spring mvc JSON数据交换格式原理解析
什么是JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. 采用完全独立于编程语言的文本格式来存储和表示数据. 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. 在 JavaScript 语言中,一切都是对象.因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.看看他的要求和
-
纯js写的分页表格数据为json串
什么也不说了,直接上代码: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String ba
-
JS对象序列化成json数据和json数据转化为JS对象的代码
JS对象序列化成json数据: function Serialize(obj){ switch(obj.constructor){ case Object: var str = "{"; for(var o in obj){ str += o + ":" + Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.
-
SpringMVC JSON数据交互实现过程解析
为什么使用JSON进行数据交互? JSON数据格式比较简单.解析比较方便,在接口调用及HTML页面Ajax调用时较常用. JSON交互方式 请求是Key/Value,响应是JSON(推荐使用) 请求是JSON,响应是JSON 依赖包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver
-
JSONLINT:python的json数据验证库实例解析
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. JSON 函数 使用 JSON 函数需要导入 json 库:import json. 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 随着前后端分离和 REST APIs 的火热,开发者不断寻找着一种灵活的.优雅的方式验证 json 数据.有直接手动获取数据验证的,也有使用
-
Oracle 处理json数据的方法
目录 备注: 一. Json数据存储 二. Json数据insert 三. json数据update 四. json数据查询 五. 常用的json函数 5.1 json_array 5.2 JSON_ARRAYAGG 5.3 JSON_DATAGUIDE 5.4 JSON_MERGEPATCH 5.5 JSON_OBJECT 5.6 JSON_OBJECTAGG 5.7 JSON_QUERY 5.8 json_serialize 5.9 JSON_TABLE 5.10 JSON_TRANSFOR
随机推荐
- php下FCKeditor2.6.5网页编辑器的使用方法
- 详解vue组件化开发-vuex状态管理库
- 简单实现C++复数计算器
- JDBC实现Mysql自动重连机制的方法详解
- Oracle中 关于数据库存储过程和存储函数的使用
- asp.net datalist绑定数据后可以上移下移实现示例
- 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
- Python学习小技巧之利用字典的默认行为
- 深入分析WPF客户端读取高清图片卡以及缩略图的解决方法详解
- mysql的日期和时间函数大全第1/2页
- 简单快速的实现js计算器功能
- 做购物车系统时利用到得几个sqlserver 存储过程
- SQL Server 作业同步 (结合备份作业)
- 将MySQL查询结果按值排序的简要教程
- 在Flash中添加“设为首页”、“加为收藏”的方法
- Flex 透明效果,位于页面最底层
- [注册表]禁止图片预览
- java查找字符串中的包含子字符串的个数实现代码
- 使用CoffeeScrip优美方式编写javascript代码
- php 结果集的分页实现代码