一、JSON对象概念

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。

JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

1、JSON的规则

对象是一个无序的“‘名称/值’对”集合。

  • 一个对象以“{”开始,“}”结束。
  • 每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

具体细节参考:http://www.json.org/json-zh.html

因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON对象是非常简单的。

例一:我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method","regex"。

var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};

例二:这表示一个user对象,拥有username, age, info, address 等属性。

var user =
{
"username": "andy",
"age": 20,
"info": { "tel": "123456", "cellphone": "98765" },
"address": [{ "city": "beijing", "postcode": "222333" }, { "city": "newyork", "postcode": "555666"}]
}

二、JSON对象的读取

在javascript 中, 成员可以通过“点号”来获取。

myJSONObject.bindings[0].method

三、修改JSON数据

也可以用JSON来简单的修改数据。

function showJSON() {
var user =
{
"username": "andy",
"age": 20,
"info": { "tel": "123456", "cellphone": "98765" },
"address": [{ "city": "beijing", "postcode": "222333" }, { "city": "newyork", "postcode": "555666"}]
}
alert(user.username);
alert(user.age);
alert(user.info.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
user.username = "Tom";
alert(user.username);
}

四、字符串转成JSON对象

1、通过eval() 函数可以将JSON字符串转化为对象。

文本生成json对象,必须在外面加一对括号。

function myEval() {
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = eval('(' + str + ')');
alert(obj.name);
}

eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。

2、利用JS的JSON对象功能

json 转 String

var str = JSON.stringify(json)
console.log(str);

String 转 Json

json = JSON.parse(str);
console.log(json)

3、利用jquery.json-2.2.min.js将Object转成JSON

function showCar() {
var carr = new Car("Dodge","Coronet R/T", 1968, "yellow");
var JosnString = $.toJSON(carr); //{"make":"Dodge","model":"Coronet R/T","year":1968,"color":"yellow"}
var make = $.evalJSON(JosnString).make;
alert(make);
} function Car(make, model, year, color) {
this.make = make;
this.model = model;
this.year = year;
this.color = color;
}

JavaScript:JSON对象的更多相关文章

  1. JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

    JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...

  2. JavaScript JSON对象(一)

    一.JSON数据 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是“名值对”的集合.结构由大括号'{}',中括号 ...

  3. javascript json对象操作(基本增删改查)

    /** * Json对象操作,增删改查 * * @author lellansin * @blog www.lellansin.com * @version 0.1 * * 解决一些常见的问题 * g ...

  4. 【前端学习笔记】JavaScript JSON对象相关操作

    //JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...

  5. JSON对象和字符串的互相转换

    1.JSON.parse; 作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象) 语法:JSON.parse(text [, reviver]) text    必选. 一 ...

  6. javascript json字符串与对象相互转换

    在实际项目中,经常遇到字符格式的问题,记下来以便日后方便查看.用到两个函数:JSON.stringify() 和 JSON.parse(). 使用ajax向后台请求数据,后台给前端返回数据,明明后端脚 ...

  7. JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  8. javaScript 将json字符串转换为json对象的方法解析

    JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对 ...

  9. javascript里面的数组,json对象,动态添加,修改,删除示例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. javascript的对象 和 JSON 对象?

    关于js和JSON的 一篇 好文章: http://www.68idc.cn/help/makewebs/javascript/20150704416007.html 讲的很好 很易懂 在将javas ...

随机推荐

  1. NR / 5G - Downlink Carrier Waveform

  2. Python 协程 - Coroutines

    协程 - Coroutines Awaitable Objects, Awaitable Objects 通常由 __await__() 生成, 而 Coroutine objects 是由 asyn ...

  3. java程序设计原则知多少

    程序设计七大原则 一.开闭原则 ​ 针对我们设计的功能模块对扩展开放,对修改关闭:利用面向接口(抽象)编程(多态的特性),实现对功能需求扩展的同时,不允许更改原来的代码.提高对象的可复用性.可维护性. ...

  4. python图片处理PIL

    一.PIL介绍 PIL中所涉及的基本概念有如下几个:通道(bands).模式(mode).尺寸(size).坐标系统(coordinate system).调色板(palette).信息(info)和 ...

  5. ts的特殊数据类型

    四. Ts数据类型 tuple(元组类型):可以给数组指定位置存指定类型数据 例:let arr:[number, string] = [123, ‘123’]; enum(枚举):将数字转化为标识符 ...

  6. [Linux]curl 测试socket http代理

    Socket5 curl --socks5 10.2.46.19:10808 http://www.baidu.com #-----查询结果----- <!DOCTYPE html> &l ...

  7. idea springboot 使用JRebel热部署

    1.首先在idea中下载jrebel.由于已经下载过了.上这样 2.下载jrebel破解插件 https://gitee.com/gsls200808/JrebelLicenseServerforJa ...

  8. 7.Android-压力测试、单元测试、日志猫使用

    1.压力测试monkey 通过cmd输入下面命令: adb shell monkey -p com.example.phonecall --ignore-crashes --ignore-timeou ...

  9. 安装Matlab R2017a 出现 “弹出DVD1 并插入DVD2” 解决办法超简单

    打开此电脑 找到驱动器虚拟镜像 右击选择弹出 点击另一个文件装载 点击确定即可

  10. Spring Boot 配置拦截器方式

    其实spring boot拦截器的配置方式和springMVC差不多,只有一些小的改变需要注意下就ok了.下面主要介绍两种常用的拦截器: 一.基于URL实现的拦截器: public class Log ...