分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

【Js】JSON对象、JSON字符的使用总结

发布时间:2023-09-06 02:06责任编辑:苏小强关键词:暂无标签

JSON对象 / JSON字符串区别

  抛出一个最常见的疑问:什么是“JSON对象”,什么是“JSON字符串”,它俩的区别是什么?

  废话不多说,直接上代码。  

1.JSON对象:

 // javascript对象字面量写法 var obj = { ?“name” : “Jay”,“age” : “18” }; ?//JSON对象写法 var json = {name ?: "jay", ?age : "18" };

 

  在平时的应用中,这两种写法除去对象的属性名上有无“引号”外,没有任何区别,使用 console.log () 分别在控制台输出,结果如下:

 1 console.log(obj); // 输出对象字面量 2 console.log(json); // 输出 json 对象 3 ------------------------------------------ 4 //显示结果 5 //对象字面量 6 Object 7 ????age: 18 8 ????name: "Jay" 9 __proto__ : Object10 11 //json 对象12 Object13 ????age: 1814 ????name: "jay"15 ?__proto__: Object16 17 ????

  事实证明,这两种写法在JS中实质上是一样的,我们平时所说的“JSON对象”,通常就是上述两种方式来定义的。使用起来就像访问js对象的属性一样,通过"."来引用:

console.log(obj.name); // ?Jayconsole.log(json.age); // 18

  

2.JSON字符串

var jsonStr = ‘{“name”:“jay” , “age” : “18”}’;

  顾名思义,JSON字符串本质上是一个“字符串”

  程序员一提到字符串,首先想到的可能是用“引号”包裹的一串字符,例如“abc” , ‘def’ 这样。所以我们可以很好的来区分JSON字符串和JSON对象,被引号包裹起来的字面量书写形式的JSON对象,就是JSON字符串。

JSON对象 / JSON字符串相互转化

1.JSON对象 -----------------------------》 JSON 字符串:

  ①JSON.stringify(obj) --- 常用 ---

// 使用方法
var obj = { name : "jay" , age : "18"};var str = JSON.stringify(obj);alert(str); //显示结果: ?‘{"name":"jay","age":"18"}‘  

  

  ②JSON.toJSONstring()

  找了半天,具体没找到怎么用,还要引入包,算了算了,弃了(无情)。

  

2.JSON 字符串 -----------------------------》 JSON 对象:

  ①JSON.parse() --- 常用 ---

var str = ‘{ "name" : "jay" , "age" : "18"}‘;var obj = JSON.parse(str);console.log(obj); // 显示结果 : {name: "jay", age: "18"}

  ②eval(‘(‘+str+‘)‘)

var str = ‘{ "name" : "jay" , "age" : "18"}‘;var obj = eval(‘(‘+str+‘)‘);console.log(obj); // 显示结果 : {name: "jay", age: "18"}

  

  ③$.parseJSON(str)

var str = ‘{ "name" : "jay" , "age" : "18"}‘;var obj = $.parseJSON(str);console.log(obj);
// 显示结果 : {name: "jay", age: "18"}

应用场景举例:提交数据到后端(php代码)

前段html:

<table> ???<tr class="student"> ???????<td>姓名:<input type="text" name="name"></td> ???????<td>年龄:<input type="text" name="age"></td> ???</tr> ???<tr class="student> ???????<td>姓名:<input type="text" name="name"></td> ???????<td>年龄:<input type="text" name="age"></td> ???</tr></table> ???????

  

前端js:

//将多组学生信息,传递到后端var students = [];$(".student").each(function(index , element){ ??var name= $(element).find("input[name=name]").val().trim(); ??var age = $(element).find("input[name=age]").val().trim() ????????var tmp = { ???????name : name, ???????age : age ???} ???student.push(tmp); })var form = new FormData(); form.append("students",JSON.stringify(students));$.(ajax(){ ??type : "post", ??data : form, ????url : postUrl, ??....... ?})

 php代码:

 

$students = $_REQUEST[‘students‘];// 第二个参数为true表示数组类型;省略第二个参数,表示为对象类型$students = json_decode($student,true);//输出学生信息foreach($students as $item){  echo ‘学生:‘ . $item[‘name‘] . ‘的年龄是‘ . $item[‘age‘] ;}

  

 

【Js】JSON对象、JSON字符的使用总结

原文地址:https://www.cnblogs.com/jiangqilong/p/9365173.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved