js陣列與json 的差異
一,陣列
1. 定義一維陣列:var s1=new Array();
# , s1=[1,2,3,4]或s1[0]=1,s1 alert(s1 [0]);
結果為: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);
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 數組在方括號中書寫:
數組可包含多個對象:
firstName = "John" lastName = "Doe"
在上面的範例中,物件"employees" 是包含三個物件的陣列。每個物件代表一筆關於某人(有姓和名)的記錄。 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" } ] }
#
$.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); } });
例如:
##var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
以上是JavaScript json物件與陣列轉換簡單實作方法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!