1. 程式人生 > >關於JSON的轉換與判斷

關於JSON的轉換與判斷

val ejs alert man 字面量 怎麽 lse .html als

JSON對象轉化為JSON字符串

var last=JSON.stringify(obj); //將JSON對象轉化為JSON字符

json字符串轉換為json對象

在數據傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵

例如:

JSON字符串:
var str1 = ‘{ "name": "cxh", "sex": "man" }‘;
JSON對象:
var str2 = { "name": "cxh", "sex": "man" };

轉換方法:

var obj = eval(‘(‘ + str + ‘)‘);

或者

var obj = str.parseJSON(); //由JSON字符串轉換為JSON對象(jq)

或者

var obj = JSON.parse(str); //由JSON字符串轉換為JSON對象

然後,就可以這樣讀取:

Alert(obj.name);

Alert(obj.sex);

特別註意:如果obj本來就是一個JSON對象,那麽使用eval()函數轉換後(哪怕是多次轉換)還是JSON對象,但是使用parseJSON()函數處理後會有問題(拋出語法異常)。

判斷字符串是否為JSON格式

function isJSON(str) {
    if (typeof
str == ‘string‘) { try { var obj=JSON.parse(str); if(typeof obj == ‘object‘ && obj ){ return true; }else{ return false; } } catch(e) { console.log(‘error:‘+str+‘!!!‘+e);
return false; } } console.log(‘It is not a string!‘) }

js對象字面量的屬性名你加引號嗎

經常看到對象的屬性名有的加引號,有的不加,那加不加?又為什麽加?

查資料,得到下面的結論:

    • 屬性名可以是包括空字符集在內的任何字符串
    • 如果屬性名是一個合法的標識符,而不是保留字,則不強制用引號括住屬性名
    • 逗號分隔多個名值對

      解釋一下:
    • 第一條,看下面例子18cm的東西
    • 第二條,標識符要合法,符合其命名規則:字母、數字、下劃線,且不能以數字開頭,
      不能是保留字。
      像下面的first-name就不符合命名規則,所以要加引號
    • 最後,屬性的調用:
      一般我們都是用 .式調用,即myObj.age
      那第二條怎麽調用呢?
      我們還有第二個調用方法:[ ] 法;即myObj[‘last-name‘]
      當然其他的也可以這麽用
      myObj[‘age‘],

      myObj[‘‘]
      "18cm"
      註意:方括號的引號一定要有哦

var str = { "name": "cxh", "sex": "man" };

var str = { name: "cxh", sex: "man" };

相關鏈接:

https://www.cnblogs.com/guoziyi/p/6003752.html

https://www.cnblogs.com/lanleiming/p/7096973.html

https://www.cnblogs.com/nostic/p/5879089.html

關於JSON的轉換與判斷