JavaScript的对象与Json

JSON有非常严格的语法,在string上下文里{ "prop": "val" } 是个合法的JSON,但{ prop: "val" }和{ ‘prop‘: ‘val‘ }确实不合法的。所有属性名称和它的值都必须用双引号引住,不能使用单引号。在string上下文里使用带有大括号的JavaScript对象,那它就是JSON字符串,而如果在对象字面量上下文里使用的话,那它就是对象字面量。

JSON.stringify(true);                // ‘true‘

JSON.stringify(‘foo‘);               // ‘"foo"‘

JSON.stringify([1, ‘false‘, false]); // ‘[1,"false",false]‘

JSON.stringify({ x: 5 });            // ‘{"x":5}‘

JSON.stringify(new Date(2006, 0, 2, 15, 4, 5)) // ‘"2006-01-02T15:04:05.000Z"‘

JSON.stringify({ x: 5, y: 6 });// ‘{"x":5,"y":6}‘ or ‘{"y":6,"x":5}‘

JSON.stringify([new Number(1), new String(‘false‘), new Boolean(false)]);// ‘[1,"false",false]‘

JSON.stringify({ x: [10, undefined, function(){}, Symbol(‘‘)] }); // ‘{"x":[10,null,null,null]}‘

// Symbols:

JSON.stringify({ x: undefined, y: Object, z: Symbol(‘‘) });// ‘{}‘

JSON.stringify({ [Symbol(‘foo‘)]: ‘foo‘ });// ‘{}‘

JSON.stringify({ [Symbol.for(‘foo‘)]: ‘foo‘ }, [Symbol.for(‘foo‘)]);// ‘{}‘

JSON.stringify({ [Symbol.for(‘foo‘)]: ‘foo‘ }, function(k, v) {

if (typeof k === ‘symbol‘) {

return ‘a symbol‘;

}});// ‘{}‘

// Non-enumerable properties:

JSON.stringify( Object.create(null, { x: { value: ‘x‘, enumerable: false }, y: { value: ‘y‘, enumerable: true } }) );// ‘{"y":"y"}‘

function replacer(key, value) {

// Filtering out properties

if (typeof value === "string") {

return undefined;

}

return value;}

var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7};

JSON.stringify(foo, replacer);// ‘{"week":45,"month":7}‘

JSON.stringify(foo, [‘week‘, ‘month‘]);  // ‘{"week":45,"month":7}‘, only keep "week" and "month" properties

如果字符串化对象有一个属性叫tojson其值是一个函数,然后tojson()方法自定义JSON字符串化所带来的行为,而不是被序列化的对象,返回的值将被序列化tojson()方法调用时。例如

var obj = {

foo: ‘foo‘,

toJSON: function() {

return ‘bar‘;

}};

JSON.stringify(obj);        // ‘"bar"‘

JSON.stringify({ x: obj }); // ‘{"x":"bar"}‘

5:JSON.parse()

JSON.parse(‘{}‘);              // {}

JSON.parse(‘true‘);            // true

JSON.parse(‘"foo"‘);           // "foo"

JSON.parse(‘[1, 5, "false"]‘); // [1, 5, "false"]

JSON.parse(‘null‘);            // null

时间: 2024-08-13 02:52:06

JavaScript的对象与Json的相关文章

javascript、js操作json方法总结(json字符创转换json对象)

相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资 料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.) json可以以数组传递,也可以以对象传递,我前面的文章PHP对发布版本时间轴数据处理,返回的json格式,是一个数组json,然后里面含有对象,这是json常见的格式.后来经过php的处理,结构又发生了变化,最外层是一个对象了,里面是数组和

javascript中字符串格式json如何转化成json对象

什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于机器解析与生成.JSON是在AJAX中代替XML交换数据的更佳方案. JSON格式与语法 var jsonobject={        //对象内的属性语法(属性名与属性值是成对出现的)        propertyname:value, //对象内的函数语法(函数名与函数内容是成对出现的)  

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte

JavaScript对象与JSON字符串互相转换详解

JSON是目前互联网数据传输所采用的的主要格式,很多编程语言都有针对JSON的解析器和序列化器,在web前台领域,js对象与JSON字符串的互相转换需求也较为常见. 此文主要讲解js对象和JSON字符串互相转换的方法和一些细节 首先如果需要在开发中使用JSON传输及相应转换需要在html中引入json.js或者json2.js,下载地址:https://github.com/douglascrockford/JSON-js 1.js对象转JSON字符串(序列化) var jsonText = J

JavaScript对象与JSON字符串的相互转换

1.eval函数 JSON文本转换为对象 为了将JSON文本转换为对象,可以使用eval函数.eval函数调用JavaScript编辑器.由于JSON是JavaScript的子集,因此编译器将正确的解析文本并产生对象结构.文本必须括在括号中避免产生JavaScript的语法歧义. var obj = eval('(' + JSONTest + ')'); eval函数非常快速.它可以编译执行任何JavaScript程序,因此产生了安全性问题.当使用可信任与完善的源代码时才可以使用eval函数.这

Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

Razor 将C#对象转换成Javascript对象 在Razor中使用Json字符串,特殊字符被自动转义(如:\"->") @{ var jsonStr = Html.Raw(JsonUtil.ToJson(VieBag.data)); } <script> var data = JSON.parse(@jsonStr); </script> ViewBag.Data = list; <script type="text/javascri

[JS]Javascript对象与JSON的互转

var obj = JSON.parse(json); //由JSON字符串转换为JSON对象 var json=JSON.stringify(obj); //将JSON对象转化为JSON字符 //此种需下载插件var json=obj.toJSONString(); //将JSON对象转化为JSON字符

Javascript中Json对象与Json字符串互相转换方法汇总(4种转换方式)

1.Json对象转Json字符串 JSON.stringify(obj); 2.Json字符串传Json对象 JSON.parse(str);//第一种 $.parseJSON(str);//第二种,等价于jQuery.parseJSON(str); eval('(' + str + ')');//第三种 (new Function("return " + str))();//第四种 3.样例 var obj={"one":"I am 1",&q

JavaScript中 JSON对象 和 JSON字符串 的相互转化

一.JSON字符串转换为JSON对象 var str = '{"name":"cxh","sex":"man","age":"25"}'; //方法一:eval方式解析 var obj1 = eval('(' + str + ')'); console.log(obj1.name); //方法二:使用全局的JSON对象解析,使用JSON.parse需严格遵守JSON规范,如属性都需用引号