首頁 >web前端 >js教程 >js/jquery解析json方法詳解

js/jquery解析json方法詳解

php中世界最好的语言
php中世界最好的语言原創
2018-04-24 11:37:541838瀏覽

這次帶給大家js/jquery解析json方法詳解,js/jquery解析json的注意事項有哪些,下面就是實戰案例,一起來看一下。

在解析之前,我們必須先弄清楚幾個概念:數組,關聯數組以及json之間有哪些區別和聯繫點?

一.概念介紹1.陣列

#語法:
ECMAScript v3規定了陣列直接量的語法,JavaScript 1.2和JScript 3.0實現了它。可以把—個用逗號分隔的表達式列表放在方括號中,建立並初始化—個陣列。這些表達式的值將成為陣列元素。例如:

var a = [1, true, 'abc'];

具體操作查看API.

ps:必須方括號隔開。

2.關聯陣列

1.語法:

var myhash= {”key1″:”val1″, “key2″:”val2″ };//obj

2.var

myhash= {key1:”val1″, key2:”val2″ };//obj-也可以

ps :跟json格式幾乎相同,但是json格式要求更加嚴格(裡面的鍵值對必須使用雙引號),但json只能作為一種格式標準,如果要對其進行操作必須轉換成關聯數組對象(obj) 。

2.簡單操作1.在Hash關聯陣列中新增鍵值

// 添加一个新键 newkey ,键值为 newval
myhash[”newkey”] = “newval”;

2.刪除Hash關聯陣列已有鍵值

// 删除一个键 newkey ,同时,该键值对应的 newval 也就消失了
delete myhash[”newkey”];

3 .遍歷Hash關聯數組

// 遍历整个hash 数组 
for (key in myhash) {
val = myhash[key];
}

4.獲得值

方式1.myhash.key1
方式2.myhash.key2

#3.json格式需求:

{”key1″:”val1″, “key2″:”val2″ };//嚴格依照此格式,運算可依照關聯陣列的動作

二.前後台互動中幾個關鍵點1.當伺服器發送的資料不是一條json,而是多條json時,則應聯繫數組和關聯數組來組裝字串
例如:var objs = [{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}];

#2.至始至終伺服器給客戶端的資料都只是字串,因此為了讓其能夠在js中對其進行必要的操作,可以透過eval()進行轉換成js可執行的物件。
因此jQuey中提供的$.parseJSON()是有限制的,如果是上面1提到的這種情況則必須使用eval()進行轉換,然後再透過$.each(objs,function(i ,o){...})進行操作

三.具體的實例代碼頁面代碼:

@Override
 protected void service(HttpServletRequest req, HttpServletResponse reps)
   throws Servlet
Exception
, IOException {
  Map<String, Object> jsonMap=new HashMap<String, Object>();
  jsonMap.put("name", "techbirds");
  jsonMap.put("age", 23);
  jsonMap.put("sex", "male");
  reps.getWriter().print(JSONObject.fromObject(jsonMap).toString());
  reps.getWriter().flush();
  reps.getWriter().close();
 }
 @Override
 protected void service(HttpServletRequest req, HttpServletResponse reps)
   throws ServletException, IOException {
  String array="[1,2,3,4,5,6]";
  reps.getWriter().print(array);
  reps.getWriter().flush();
  reps.getWriter().close();
 }

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

jQuery動畫效果圖片輪播實作(附程式碼)

jquery拖曳效果實作方法

以上是js/jquery解析json方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn