html js json数据类型,详解js中Json的语法与格式

JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

JSON语法规则:

数据在 名称/值 对仲

数据由逗号分隔

花括号保存对象

方括号保存数组

JSON 名称/值 对介绍

"name":"张飞",

"age":23

Json的值可以是:

数字(整数或浮点数)

字符串(要包括在双引号中)

逻辑值(true或false)

数组(在方括号中)

对象(在花括号中)

Json转javascript对象的方法为:

eval("(" + str + ")");

代码示例:

Json测试

//基本上,Json返回的要么是对象,要么是数组,如果单纯返回一个字符串,那么就没有必要用Json了,因此

//Json基本就下面这些可,不过要注意双引号

var str0 = "{employees:'测试'}";

var obj0 = eval("(" + str0 + ")");

alert(obj0.employees); //输出测试

var str = "{name:'张三',Age:21}";

var obj = eval("(" + str + ")");

document.write(obj.name + obj.Age); //输出 张三21

alert(obj.name);

//别看下面那段Json长,其实是一个对象,属性employees的值是一个对象数组。和上面的相比,只是name:张三 中的"张三"字符串 变成了对象数组而已

var str2 = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

var obj2 = eval("(" + str2 + ")");

alert(obj2.employees[0].firstName); //弹出 Bill

var str3 = "[1,2,3,4,5,6]"; //json 数组

var obj3 = eval("(" + str3 + ")"); //输出 2

alert(obj3[1]);

Json与JavaScript对象转换

JSON转javascript对象

//Json转对象1

function JsonToObject(str) {

return eval("(" + str + ")");

}

//Json转对象2

function strToJson(str){

var json = (new Function("return " + str))();

return json;

}

//Json转对象3 jQuery工具函数

$.parseJSON()

javascript对象转JSON

//javascript对象转Json

function ObjectToJson(o) {

var arr = [];

var fmt = function(s) {

if (typeof s == 'object' && s != null) return json2str(s);

return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;

}

for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));

return '{' + arr.join(',') + '}';

}

以上就是本文的全部内容,希望对大家有所帮助,谢谢对脚本之家的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值