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

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__ : Object
10
11 //json 对象
12 Object
13     age: 18
14     name: "jay"
15  __proto__: Object
16
17     

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

console.log(obj.name); //  Jay
console.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‘] ;
}

  

 

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

时间: 2024-10-08 11:20:31

【Js】JSON对象、JSON字符的使用总结的相关文章

js中解析json对象:JSON.parse()用于从一个字符串中解析出json对象, JSON.stringify()用于从一个对象解析出字符串。

JSON.parse()用于从一个字符串中解析出json对象. var str = '{"name":"huangxiaojian","age":"23"}' ; JSON.parse(str); // age: "23" name: "huangxiaojian" 2.JSON.stringify()用于从一个对象解析出字符串. var a = {a:1,b:2 }; JSON.str

关于js中的json对象,json串,数组之间相互转换

将json对象转换成string var loginUser = {username: username, password: password}//方式一 localStorage.setItem("loginUser", JSON.stringify(loginUser));//方式二 localStorage.setItem("loginUser",loginUser.toJSONString()); 将string转换成json对象 //方式一 var ob

javascript中json对象json数组json字符串互转及取值

今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 1 var jsonString = '{"bar":"property","baz":3}'; 2 var jsObject = JSON.parse(jsonString); //转换为json对象 3 alert(jsObject.bar); //取json中的值 2.json对象转为json类型的字符串 v

json字符串转成 json对象 json对象转换成java对象

import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version></dependency> String r

js中Json 对象,Json字符串转换

//tmppcd  是一个对象 //JSON.stringify()   是把对象转换成json 字符串

使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换

$.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.v

Json字符与Json对象的相互转换

Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 复制代码 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 复制代码 代码如下: JSON.parse(jsonstr); /

json字符串转换成json对象

Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 代码如下: JSON.parse(jsonstr); //可以将json字符

Json对象与Json字符串互转

Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:  JSON.parse(jsonstr); //可以将json字符串转换成json对象