JavaScript:JSON对象
一、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对象的更多相关文章
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
- JavaScript JSON对象(一)
一.JSON数据 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是“名值对”的集合.结构由大括号'{}',中括号 ...
- javascript json对象操作(基本增删改查)
/** * Json对象操作,增删改查 * * @author lellansin * @blog www.lellansin.com * @version 0.1 * * 解决一些常见的问题 * g ...
- 【前端学习笔记】JavaScript JSON对象相关操作
//JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...
- JSON对象和字符串的互相转换
1.JSON.parse; 作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象) 语法:JSON.parse(text [, reviver]) text 必选. 一 ...
- javascript json字符串与对象相互转换
在实际项目中,经常遇到字符格式的问题,记下来以便日后方便查看.用到两个函数:JSON.stringify() 和 JSON.parse(). 使用ajax向后台请求数据,后台给前端返回数据,明明后端脚 ...
- JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- javaScript 将json字符串转换为json对象的方法解析
JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对 ...
- javascript里面的数组,json对象,动态添加,修改,删除示例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- javascript的对象 和 JSON 对象?
关于js和JSON的 一篇 好文章: http://www.68idc.cn/help/makewebs/javascript/20150704416007.html 讲的很好 很易懂 在将javas ...
随机推荐
- LVS 介绍 原理
一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtual ...
- pt-query-digest 慢日志监控
一.安装percona-toolkit,以centos为例 yum -y install https://repo.percona.com/yum/percona-release-latest.noa ...
- 用Docker部署自己的JupyterHub
[话在前头] 用 Docker 部署 JupyterLab 感觉是部署 JupyterLab 最方便的方式了,官方提供了很多可选的镜像,也可以自己从 jupyter/base-notebook 中继续 ...
- ElasticSearch集群-Windows
概述 ES集群是一个P2类型的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信.所以,从网络架构及服务配 ...
- Objective-C编程 — 并行编程
多线程 线程的基本概念 线程 (thread)是进程(process)A 内假想的持有 CPU 使用权的执行单位.一般情况下,一个进程 只有一个线程,但也可以创建多个线程并在进程中并行执行.应用在执行 ...
- StarUML之七、StarUML的Class Diagram(类图)示例
UML 类图中的概念 类图关系:泛化(继承).实现.聚合.组合.关联.依赖 类图的详解可在网上查询(推荐https://zhuanlan.zhihu.com/p/24576502) 它描述了在一个系统 ...
- redis两种持久化方式RDB和AOF
目录 前言 1. Redis 数据库结构 2. RDB 持久化 2.1. RDB 的创建和载入 2.1.1. 手动触发保存 SAVE 命令 BGSAVE 命令 SAVE 和 BGSAVE 的比较 2. ...
- Linux 用户、用户组管理
Linux系统是一个多用户多任务的分时操作系统,每个用户都有用户名(唯一).口令,用户名唯一标识该用户账号. 用户管理主要涉及到用户添加.修改和删除. 切换用户 su 用户名 su即swit ...
- Python 编程入门(3):算术和表达式
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解. 计算 ...
- mysql 查询出现 "this is incompatible with sql_mode=only_full_group_by"错误解决方案,以及个人rpm方式重装所遇到的问题备份
一.错误说明 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql .7版本默认的sql配置是:sql_mode="ONLY_FULL_GR ...