首頁 > web前端 > js教程 > 主體

JavaScript json物件與陣列轉換簡單實作方法實例詳解

伊谢尔伦
發布: 2017-07-17 14:24:06
原創
2693 人瀏覽過

js陣列與json 的差異

一,陣列

     1. 定義一維陣列:var s1=new Array();

#                      , s1=[1,2,3,4]或s1[0]=1,s1          alert(s1 [0]);

                      .為1;

  #                    var s1= [[3,1],[2,3,4],3,[4,5,6,7,8]];

                     
                                       結果為:Object:Object;

  2, json字串

              所謂和json字串,是指該字串變數的值與json的格式相同,但不是json物件

   status_process的值符合json物件的格式值符合json物件的格式值符合json 物件不是對象,只是一個字串(是拼湊出來的);

                   將字串轉換為json物件

使用函數

eval,eval("(" + status_process+)物件

使用函數

eval,eval("(" + status_process+)

##         結論:從後台傳入到前台的是json字串,且不是真正的json對象,因此需要使用eval函數轉換。

json物件的使用    

var status_process = {
      " name5" : '闲置期',
    "name1" : '播种期',
    "name2" : '苗期',
    "name3" : '生长期',
    "name4" : '采收期'
   }   
  alert(status_process);
登入後複製

  兩個都為:閒置期

#JSON 語法規則

# #JSON 語法是

JavaScript

物件表示法語法的子集。

•資料在名稱/值對中
•資料由逗號分隔

•花括號保存物件

•方括號保存陣列 JSON 物件

JSON 物件在花括號中書寫:

物件可以包含多個名稱/值對:

var status_process = {
      name5 : '闲置期',
     name1 : '播种期',
     name2 : '苗期',
      name3 : '生长期',
      name4 : '采收期'
     };
     alert(status_process["name5"]);
     alert(status_process.name5);
登入後複製

這一點也容易理解,與這條JavaScript 語句等價:

{ "firstName":"John" , "lastName":"Doe" }
登入後複製

JSON 數組

JSON 數組在方括號中書寫:

數組可包含多個對象:

firstName = "John"
lastName = "Doe"
登入後複製

在上面的範例中,物件"employees" 是包含三個物件的陣列。每個物件代表一筆關於某人(有姓和名)的記錄。 JSON 檔案


•JSON 檔案的檔案類型是".json"

•JSON 文字的MIME 類型是"application/ json"

JSON文字轉換為JavaScript 物件

JavaScript 函數eval() 可用來將JSON 文字轉換為JavaScript 物件。 eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然後產生 JavaScript 物件。必須把文字包圍在括號中,這樣才能避免
語法錯誤

var obj = eval ("(" + jsontxt + ")");##範例:

{ 
"employees": [ 
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName":"Jones" } 
] 
}
登入後複製
透過JavaScript建立物件陣列

#

  $.ajax({
    type: 'POST',
    url: '../../caseHandler.ashx?action=GetCase&id=' + id.toString(), //url action是方法的名称
    data: "",
    dataType: "text", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可以设置为json
    ContentType: "application/json; charset=utf-8",
    success: function (returnedData) {
      getMarkerFeature(eval("(" + returnedData+ ")"));
    },
    error: function (msg) {
      alert("访问失败:"+ msg);
    }
  });
登入後複製
JavaScript物件屬性存取的兩種方式

object.attribute

object["attribute"]

例如:

##
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
登入後複製

以上是JavaScript json物件與陣列轉換簡單實作方法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板