文档章节

【原创】JSON与对象转换 / JSON的增删查

柴高八斗之父
 柴高八斗之父
发布于 2017/07/24 10:50
字数 657
阅读 7
收藏 0

对象与json之间相互转换

 对象  转为  json  ; JSON.stringify()

 json  转为  对象  ; JSON.parse(xiaoming_json)

$(function(){
	var xiaoming = {
			    name: '小明',
			    age: 14,
			    gender: true
	}

	console.log("第一次xiaoming的类型是"+xiaoming)

	console.log("现在是:将对象转为json(JSON.stringify(xiaoming)):"+JSON.stringify(xiaoming))		//stringify 英意:字符串指定
	
	var xiaoming_json=JSON.stringify(xiaoming)
	console.log("现在是:将json转为对象(JSON.parse(xiaoming_json)):"+JSON.parse(xiaoming_json))  //parse 英意:解析
	console.log("现在是:测试对象获取值:"+xiaoming.name)
})

以上js执行后,在控制台结果如下图:

  注意: 对象在被转化成为json格式后,原来的对象的键被加了双引号,数值型和布尔值的依然不改变;

json语法规范。

json的增删查

js如下:

//JSON数组对象
var obj =[{"name":"海军","num":"666"},{"name":"陆军","num":"888"}];    

//增
function add(){  
    obj.push({"name":"空军","num":"999"}) ;  //以数组的方式追加
    alert("ok");  
 }  
 
//删 
function del(a){  
    $.each(obj,function(n,value) {  
        if (value.name==a)  
        {  
            obj.splice(n,1);    //splice() 方法可删除从 index 处开始的零个或多个元素
            alert(value.name);  
        }  
    })  
}  
 
//查
function showlist()            
{  
     $.each(obj,function(n,value) {   //遍历
       //alert(n+"/"+ value.name);  
       alert( value.name+value.num);  
     });  
}  

html

<input type="button" value="list"   onClick="showlist()">  
<input type="button" value="add"   onClick="add()">  
<input type="button" value="del"   onClick="del('海军')">  

 

json和对象的区别?

JSON以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量,那么该变量会变成一个对象引用,而这个对象就是字符串所构建出来的.

这里假设我们需要创建一个User对象,并具有以下属性
用户ID 
用户名 
用户Email 

您可以使用以下JSON形式来表示User对象:
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};

然后如果把这一字符串赋予一个JavaScript变量,那么就可以直接使用对象的任一属性了。

-------------------------针对以上的案例如下--需要本人亲自证实-----------------------

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

例子

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

可以像这样访问 JavaScript 对象数组中的第一项:

employees[0].lastName;

返回的内容是:

Gates

可以像这样修改数据:

employees[0].lastName = "Jobs";

 

对象是属性、值对的集合(多维)。一个对象的开始于“{”,“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。 
数组是有顺序的值的集合(一维)。一个数组开始于"[","]",值之间用","分隔。 
可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。 

 

© 著作权归作者所有

柴高八斗之父
粉丝 4
博文 206
码字总数 114443
作品 0
宁波
前端工程师
私信 提问
对象序列化、反序列化、一键增删改查插件--YUDBModel

YUDBModel 直接实现 json 反序列化对象-对象增删改查数据库-对象序列化的插件 介绍 架构: 使用runtime和Sqlite实现NSObject扩展类YUDBModel,直接实现(json反序列化对象-对象增删改查数据库-...

BruceYu的博客
2017/05/16
85
0
YUDBModel【绿色插件】-对象序列化、反序列化、对象一键增删改查

一、YUDBModel 介绍 架构: 使用runtime和Sqlite实现NSObject扩展类YUDBModel,直接实现(json反序列化对象-对象增删改查数据库-对象序列化) 易用: 无需继承,直接实现序列化、反序列化、一行代...

BruceYu的博客
2015/08/21
0
4
elasticsearch java api

一、获取elasticsearch Client是简单的,最普遍的方法是创建连接cluster 的。 注意:这个client 的版本和你在电脑上打开的服务器的主要的版本是一样的(e.g. , or ) The client must have the...

中天剑j
2017/05/07
0
0
我该如何处理后台转换json为对应的泛型实体类,而不是JSONObject?

我想创建一个RESTfulController,定义通用的增删改查,然后子类继承后就可不必写重复的代码。 当后台接受json,由fastjson转换为对应的对象时,最终得到的是 JSONObject ,而不是对应的实体类...

魏晋秋
2017/03/15
611
1
自动化接口和文档 APIJSON 3.0.0 发布

APIJSON 3.0.0 更新内容: 新增Function,启动时自检; join等功能兼容PostgreSQL; 解决join在主表为空对象时未解析为JOIN语句; 解决server.JSONRequest未转换数组为JSONArray导致后面解析...

孤独的探索号
2018/11/06
5.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

再一次生产 CPU 高负载排查实践

前言 前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。 其实早在去年我也处理过类似的问题,并记录下来:《一次生产 CPU ...

crossoverJie
28分钟前
1
0
Java的线程同步和并发问题示例

并发问题 多线程是一个非常强大的工具,它使我们能够更好地利用系统的资源,但我们需要在读取和写入多个线程共享的数据时特别小心。 当多个线程尝试同时读取和写入共享数据时,会出现两种类型...

hiuh
今天
4
0
Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id(指定属性主键) @GeneratedValue(指定主键生成规则) @Transient(表示此数据不在数据库表里建立属性) ...

兜兜毛毛
今天
3
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
2
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部