亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS中Json數據的處理和解析JSON數據的方法詳解

2019-11-20 09:34:59
字體:
來源:轉載
供稿:網友

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于ECMAScript的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網絡傳輸速率)。

JSON的規則很簡單: 對象是一個無序的“‘名稱/值'對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值' 對”之間使用“,”(逗號)分隔。具體細節參考http://www.json.org/json-zh.html

舉個簡單的例子:

js 代碼

function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); } 

這表示一個user對象,擁有username, age, info, address 等屬性。

同樣也可以用JSON來簡單的修改數據,修改上面的例子

js 代碼

function showJSON() { var user = { "username":"andy", "age":20, "info": { "tel": "123456", "cellphone": "98765"}, "address": [ {"city":"beijing","postcode":"222333"}, {"city":"newyork","postcode":"555666"} ] } alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[0].postcode); user.username = "Tom"; alert(user.username); }

JSON提供了json.js包,下載http://www.json.org/json.js 后,將其引入然后就可以簡單的使用object.toJSONString()轉換成JSON數據。

js 代碼

function showCar() { var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow"); alert(carr.toJSONString()); } function Car(make, model, year, color) { this.make = make; this.model = model; this.year = year; this.color = color; }

可以使用eval來轉換JSON字符到Object

js 代碼

function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = eval('(' + str + ')'); alert(obj.toJSONString()); } 

或者使用parseJSON()方法

js 代碼

function myEval() { var str = '{ "name": "Violet", "occupation": "character" }'; var obj = str.parseJSON(); alert(obj.toJSONString()); }

下面使用prototype寫一個JSON的ajax例子。

先寫一個servlet (我的是servlet.ajax.JSONTest1.java)就寫一句話

java 代碼

response.getWriter().print("{ /"name/": /"Violet/", /"occupation/": /"character/" }");

再在頁面中寫一個ajax的請求

js 代碼

function sendRequest() { var url = "/MyWebApp/JSONTest1"; var mailAjax = new Ajax.Request( url, { method: 'get', onComplete: jsonResponse } ); } function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.parseJSON(); alert(myobj.name); }

prototype-1.5.1.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法

js 代碼

function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); }

JSON還提供了java的jar包 http://www.json.org/java/index.html API也很簡單,下面舉個例子

在javascript中填加請求參數

js 代碼

function sendRequest() { var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow"); var pars = "car=" + carr.toJSONString(); var url = "/MyWebApp/JSONTest1"; var mailAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: jsonResponse } ); } 

使用JSON請求字符串就可以簡單的生成JSONObject并進行解析,修改servlet添加JSON的處理(要使用json.jar)

java 代碼

private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException { String s3 = request.getParameter("car"); try { JSONObject jsonObj = new JSONObject(s3); System.out.println(jsonObj.getString("model")); System.out.println(jsonObj.getInt("year")); } catch (JSONException e) { e.printStackTrace(); } response.getWriter().print("{ /"name/": /"Violet/", /"occupation/": /"character/" }"); } 

同樣可以使用JSONObject生成JSON字符串,修改servlet

java 代碼

private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException { String s3 = request.getParameter("car"); try { JSONObject jsonObj = new JSONObject(s3); System.out.println(jsonObj.getString("model")); System.out.println(jsonObj.getInt("year")); } catch (JSONException e) { e.printStackTrace(); } JSONObject resultJSON = new JSONObject(); try { resultJSON.append("name", "Violet") .append("occupation", "developer") .append("age", new Integer(22)); System.out.println(resultJSON.toString()); } catch (JSONException e) { e.printStackTrace(); } response.getWriter().print(resultJSON.toString()); } 

js 代碼

function jsonResponse(originalRequest) { alert(originalRequest.responseText); var myobj = originalRequest.responseText.evalJSON(true); alert(myobj.name); alert(myobj.age); }

下面在重點給大家介紹JS中json數據的處理

1、 json數據結構(對象和數組)

json對象:var obj = {"name":"xiao","age":12};

json數組:var objArray = [{"name":"xiao","age":12},{"name":"xiao","age":12}];

2、 處理json數據,依賴文件有:jQuery.js

3、Note:數據傳輸過程中,json數據是以文本,即字符串格式形式存在;

JS語言操作的是JS對象;

所以json字符串與JS對象之間的轉換是關鍵;

4、數據格式

Json字符串:var json_str = ‘{"name":"xiao","age":12}';

Josn對象:var obj = {"name":"xiao","age":12};

JS對象:Object {name: "xiao", age: 12}

5、類型轉換

Json字符串――>JS對象,使用方法:

注明:

  json_str、obj代表的是在本文子標題4中的數據類型;

obj = JSON.parse(json_str);obj = jQuery.parseJSON(json_str);

Note:傳入畸形json字符串(例如:‘{name:"xiao",age:12}'),會拋出異常;

Json字符串格式,嚴格格式:‘{"name":"xiao","age":12}'

JS對象――>Json字符串:

json_str = JSON. stringify(obj);

NOTE:

1、eval()是JS原生函數,使用該形式:eval(‘('+‘{name:"xiao",age:12}'+')'),并不安全,無法保證類型轉換為JS對象;

2、上面3中方法,都經過chrome瀏覽器測試,下面是測試結果截圖;

Json字符串――>JS對象;

JS對象――>Json字符串:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久www成人免费精品张筱雨| 亚洲性av网站| 日韩激情片免费| 欧美激情亚洲一区| 9.1国产丝袜在线观看| 国产精品久久在线观看| 午夜精品久久久久久久久久久久| 久久久久九九九九| 欧美激情精品久久久久久黑人| 国产午夜精品视频| 久久久免费高清电视剧观看| 69av在线播放| 久久久影视精品| 亚洲一区二区三区在线免费观看| 亚洲一区二区久久久久久久| 色偷偷av亚洲男人的天堂| 国产精品久久97| 一区二区成人av| 91亚洲永久免费精品| 久久久91精品国产一区不卡| 欧美激情xxxxx| 日韩成人网免费视频| 国产精品91在线观看| 精品视频在线播放免| 日韩精品免费电影| 欧美一级淫片丝袜脚交| 美女扒开尿口让男人操亚洲视频网站| 欧美精品久久久久久久久久| 精品福利视频导航| www.欧美三级电影.com| 日韩大片免费观看视频播放| 日韩美女毛茸茸| 日韩在线欧美在线国产在线| 国产一区二区在线免费| 日韩国产欧美精品在线| 岛国精品视频在线播放| 欧美激情影音先锋| 欧美视频一二三| 国产成人高潮免费观看精品| 日韩h在线观看| 欧美激情精品久久久久| 91探花福利精品国产自产在线| 久久天天躁狠狠躁老女人| 色婷婷综合久久久久中文字幕1| 久久99久久99精品免观看粉嫩| 亚洲成人网av| 亚洲a一级视频| 久久国产精品电影| 欧洲s码亚洲m码精品一区| 亚州成人av在线| 国产精品h片在线播放| www亚洲欧美| 日韩欧美国产免费播放| 亚洲成人三级在线| 欧美午夜精品久久久久久久| 久久久精品视频在线观看| 亚洲色图校园春色| 成人欧美在线视频| 久久久视频精品| 日韩在线观看免费高清完整版| 欧美亚洲国产日本| 欧美一级视频一区二区| 日韩动漫免费观看电视剧高清| 亚洲精品中文字幕av| 欧美成人四级hd版| 欧美激情精品久久久久久变态| 91探花福利精品国产自产在线| 亚洲精品电影在线观看| 中文字幕一区日韩电影| 一区二区三区视频在线| 亚洲国产欧美一区| 国产欧美日韩综合精品| 一区二区在线免费视频| 精品福利樱桃av导航| 日本国产高清不卡| 91精品综合久久久久久五月天| 国产视频精品在线| 宅男66日本亚洲欧美视频| 欧美精品18videos性欧美| 久久精品国产综合| 日韩三级成人av网| 国产成人精品av在线| 国产精品久久久久久久久久久新郎| 日韩av中文字幕在线免费观看| 久久久国产成人精品| 成人福利在线视频| 91久久久久久久一区二区| 九九久久精品一区| 欧美大学生性色视频| 伊人久久大香线蕉av一区二区| 久久精品这里热有精品| 性欧美xxxx视频在线观看| 91精品国产91| 欧美在线免费观看| 成人免费激情视频| 日韩一区二区三区在线播放| 在线观看日韩av| 国产成人精品999| 日韩视频第一页| 欧美乱大交做爰xxxⅹ性3| 精品亚洲精品福利线在观看| 97精品欧美一区二区三区| 欧美老女人bb| 亚洲精品一区中文| 久久久久久这里只有精品| 久久亚洲春色中文字幕| 日本成人免费在线| 国产精品爽爽爽爽爽爽在线观看| 亚洲色图色老头| 欧美又大又硬又粗bbbbb| 亚洲性视频网址| 丝袜美腿精品国产二区| 国产91露脸中文字幕在线| 国产99久久精品一区二区| 国产a∨精品一区二区三区不卡| 亚洲欧洲xxxx| 国产精品福利无圣光在线一区| 国产亚洲精品综合一区91| 亚洲春色另类小说| 日韩成人av网| 色偷偷9999www| 欧日韩在线观看| 久久亚洲精品小早川怜子66| 欧美成人在线免费| www.日本久久久久com.| 亚洲天堂成人在线视频| 日韩免费在线电影| 在线电影欧美日韩一区二区私密| 欧美日韩免费观看中文| 欧美日韩国产成人高清视频| 久久视频免费在线播放| 亚洲精品456在线播放狼人| 国产啪精品视频| 精品久久久久久久久中文字幕| 欧美亚洲在线视频| 亚洲精品98久久久久久中文字幕| 亚洲一区二区三区香蕉| 欧美日韩国产999| 欧美精品18videos性欧| 亚洲成人久久久| 美女国内精品自产拍在线播放| 久久精品中文字幕免费mv| 欧美成人精品一区| 久久久综合av| 在线日韩欧美视频| 亚洲伦理中文字幕| 亚洲国产毛片完整版| 国产日韩欧美一二三区| 色综合亚洲精品激情狠狠| 一区二区在线视频播放| 精品视频久久久久久| 国产小视频91| 91精品久久久久久久久久| 欧美尺度大的性做爰视频| 日韩视频免费大全中文字幕| 黄色一区二区三区| 亚洲国产精品电影| 国产日韩欧美视频| 成人亚洲欧美一区二区三区| 国产亚洲精品高潮| 国产精品久久久久久久av大片| 国产欧美日韩高清| 国产小视频91| 亚洲黄色av女优在线观看|