一、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. 《Head first设计模式》之模版方法模式

    模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 有些人没有咖啡就活不下去:有些人则离不开茶.两者共同的 ...

  2. 浅谈JSONP 的工作原理

    小编最近在工作中经常用到 jsonp 这个东西, 表示之前从来没用过  最近稍微研究了下 当然很多内容来源于网上 收集整理 你懂的 ~~~ 话说我们访问一个页面的时候 需要像另一个网站获取部分信息, ...

  3. 《算法导论》第二章demo代码实现(Java版)

    <算法导论>第二章demo代码实现(Java版) 前言 表示晚上心里有些不宁静,所以就写一篇博客,来缓缓.囧 拜读<算法导论>这样的神作,当然要做一些练习啦.除了练习题与思考题 ...

  4. CentOS7重置密码

    #在vmlinuz段最后添加rd.break Ctrl+X启动 rd.break #在linux16/linux/linuxefi所在参数行尾添加以下内容 init=/bin/sh #此时,可使用mo ...

  5. 和内嵌的iframe进行通讯

    利用内置iframe进行通讯 1. 在当前网页设置iframe网页(监听iframe发来postmessage消息事件) a. 外部网页接收数据: 回调方法,其中e.data为传入数据: const ...

  6. JVM源码分析之临门一脚的OutOfMemoryError完全解读

    概述 OutOfMemoryError,说的是java.lang.OutOfMemoryError,是JDK里自带的异常,顾名思义,说的就是内存溢出,当我们的系统内存严重不足的时候就会抛出这个异常(P ...

  7. 记录 2020年2月26日 java的一次远程技术面试

    1. 自我介绍 2.String 类型为什么是final类型?String 为啥不可变? String 类型是final类型原因: 1.不可变性支持线程安全(为了线程安全) 2.不可变性支持字符串常量 ...

  8. Dynamics 365 marketing中添加自定义渠道磁贴

    Dynamics 365 marketing中默认的渠道只有Marketing Email和Marketing Activity,想要添加其他渠道必须自定义磁贴,自定义磁贴的步骤如下: 1.创建实体 ...

  9. 消息队列MQ(一)

    消息队列 为什么要用消息队列,都有什么优缺点? 要问的是消息队列都有哪些场景,然后项目里具体实现的什么场景,你在这个场景里用的什么消息队列? 期望的回答是,你们公司有个什么业务,这个业务场景有什么技术 ...

  10. .net core 中如何运用 appsettings.json 进行配置开发、生产不同配置

    .net core 默认会有 appsettings.Development.json 文件,这是根据ASPNETCORE_ENVIRONMENT来读取的. 新建架构appsettings.Produ ...