麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js/jquery解析json和數組格式的方法詳解

2019-11-20 21:17:16
字體:
來源:轉載
供稿:網友

在解析之前,我們必須弄清楚幾個概念:數組,關聯數組以及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){...})進行操作

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

復制代碼 代碼如下:

<body>
 <input type="button" value="send ajax json" onclick="sendAjaxByjson();"/>
 <input type="button" value="send ajax array" onclick="sendAjaxByarray();"/>
</body>
 <script type="text/javascript">
  function sendAjaxByjson(){
   $.post("json",{},function(data){
    var obj=data;
    alert(typeof obj);//string
    //var a=eval(obj);不解,不注釋則會報錯..
    var strToobj=$.parseJSON(obj);
    alert(strToobj.name);
    alert(typeof strToobj)//obj
    var obja={'name':'techbirds','age':'23','sex':'male'};
    alert(typeof obja);//obj
    alert(obja['name']+":"+obja.age);
    delete obja['name'];
   });
  }
  function sendAjaxByarray(){
   $.post("array",{},function(data){
    var str=data;
    alert(typeof str);//string
    alert(typeof eval(str));//object
    var obja=[1,2,3,4,5];
    alert(typeof obja);//object

   });
  }
 </script>

后臺代碼:
復制代碼 代碼如下:

@Override
 protected void service(HttpServletRequest req, HttpServletResponse reps)
   throws ServletException, 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();

 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久新地址 | 国产精品av久久久久久网址 | 亚洲一区二区三区日本久久九 | av免播放 | 91在线视频精品 | 美女视频网站黄色 | 成人在线视频免费播放 | 国产高潮好爽受不了了夜色 | 深夜福利视频绿巨人视频在线观看 | 禁漫天堂久久久久久久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 日本欧美一区二区三区视频麻豆 | 久久国产精品电影 | 日韩黄在线 | 久久精品亚洲欧美日韩精品中文字幕 | 免费午夜视频 | 在线中文资源免费 | 午夜视频观看 | 久久精品成人免费国产片桃视频 | 黄色av电影在线 | 高清做爰免费无遮网站挡 | 蜜桃视频网站在线观看 | 高清国产免费 | 91av久久 | 中国免费一级毛片 | av影院在线播放 | 香蕉国产片 | 免费久久久久 | 素人视频在线观看免费 | 伊人午夜| 亚洲国产成人久久成人52 | tube7xxx| 免费毛片在线视频 | 久久91久久久久麻豆精品 | 欧美亚洲国产成人 | 亚洲午夜在线视频 | 日韩欧美精品电影 | 欧美精品一区二区三区久久久 | 免费久久精品 | 91久久国产综合久久91精品网站 | 成人性视频免费网站下载软件 |