如何将json字符串传递给js JS解析json数据(如何将json字符串转化为数
\u540e\u53f0\u4f20\u8fc7\u6765\u4e00\u4e2ajson\u5b57\u7b26\u4e32,js\u5982\u4f55\u89e3\u6790\u4f7f\u7528ajax\u83b7\u53d6\u540e\u53f0\u4f20\u8fdb\u6765\u7684json\u6570\u636e\uff0c\u7136\u540e\u5728ajax\u7684success\u65b9\u6cd5\u91cc\u4f20\u5165\u53e6\u4e00\u4e2ajs\u65b9\u6cd5\u6570\u636e
function gameSend(args, callback) {
$.ajax({
url:args.url,
data:args.data,
dataType: 'JSON',
type: 'post',
success: function(data) {
callback(data);
if (callback !== afterAjaxSuccess)
afterAjaxSuccess(data);
}
});
}
New Document
var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }";
var jsonobj=eval('('+t+')');
alert(jsonobj.firstName);
alert(jsonobj.lastName);
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
var t3="[['14113295100','\u793e\u65d7\u53bf\u56fd\u7a0e\u5c40\u6865\u5934\u7a0e\u52a1\u6240','\u793e\u65d7\u53bf\u57ce\u90ca\u4e61\u957f\u6c5f\u8def\u897f\u6bb5']]";
//\u901a\u8fc7eval() \u51fd\u6570\u53ef\u4ee5\u5c06JSON\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3a\u5bf9\u8c61
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
/*
//stringifier \u51fd\u6570\u7684\u4f5c\u7528\u8ddf parse \u76f8\u53cd\uff0c \u7528\u6765\u5c06\u4e00\u4e2ajs\u5bf9\u8c61\u8f6c\u6362\u4e3a JSON \u6587\u672c\u3002
var jsonText = JSON.stringify(obj);
alert(jsonText);
//\u5982\u679c\u57fa\u4e8e\u5b89\u5168\u7684\u8003\u8651\u7684\u8bdd\uff0c\u6700\u597d\u662f\u4f7f\u7528\u4e00\u4e2a JSON \u89e3\u6790\u5668\u3002 \u4e00\u4e2a JSON \u89e3\u6790\u5668\u5c06\u53ea\u63a5\u53d7 JSON \u6587\u672c\u3002\u6240\u4ee5\u662f\u66f4\u5b89\u5168\u7684\u3002
var myObject = JSON.parse(myJSONtext, filter);
//\u53ef\u9009\u7684 filter \u53c2\u6570\u5c06\u904d\u5386\u6bcf\u4e00\u4e2avalue key \u503c\u5bf9\uff0c \u5e76\u8fdb\u884c\u76f8\u5173\u7684\u5904\u7406\u3002\u5982\uff1a
//\u5982
myData = JSON.parse(text, function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value; });
//stringifier \u51fd\u6570\u7684\u4f5c\u7528\u8ddf parse \u76f8\u53cd\uff0c \u7528\u6765\u5c06\u4e00\u4e2ajs\u5bf9\u8c61\u8f6c\u6362\u4e3a JSON \u6587\u672c\u3002
var myJSONText = JSON.stringifier(myObject);
*/
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
注意:
上 面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。
绛旓細鍦↗avaScript涓紝灏咼SON瀛楃涓杞崲鎴怞SON瀵硅薄鐨勬渶甯哥敤鏂规硶鏈変袱绉嶏細eval()鍑芥暟鍜孎unction瀵硅薄銆傞鍏堬紝璁╂垜浠氳繃eval()鍑芥暟瀹炵幇杩欎竴杩囩▼銆傚綋浣犱粠鏈嶅姟鍣ㄨ幏鍙栧埌浠ュ瓧绗︿覆褰㈠紡鐨凧SON鏁版嵁鏃讹紝渚嬪锛歷ar jsonData = " {root: [ {name: '1', value: '0'}, {name: '6101', value: '鍖椾含甯'}, ... ...
绛旓細鍦↗avaScript涓紝瑙f瀽JSON鏁版嵁骞跺皢鍏惰浆鍖栦负鏁扮粍鐨勬搷浣滈潪甯哥洿瑙傦紝涓昏鍊熷姪浜巂eval()`鍑芥暟銆備緥濡傦紝瀵逛簬涓涓寘鍚祵濂楀璞″拰鏁扮粍鐨JSON瀛楃涓`t`锛屾垜浠彲浠ラ氳繃浠ヤ笅姝ラ杩涜澶勭悊锛氳繖娈典唬鐮侀鍏堝畾涔変簡涓涓寘鍚鏉傜粨鏋勭殑JSON瀛楃涓诧紝鐒跺悗浣跨敤`eval()`鍑芥暟灏嗗叾杞寲涓篔avaScript瀵硅薄銆傛帴鐫锛岄氳繃寰幆閬嶅巻鏁扮粍锛屾垜浠...
绛旓細鐢╦query鏉ユ帴鏀躲俲query鏈変釜鏂规硶鍙仛getjson(),缁欎綘鐪嬩竴涓叿浣撲緥瀛 function getHouseByConditions() { var data = {typeId:$('#housetype').val(),districtId:$('#district').val(),price:$('#price').val(), floorage:$('#floorage').val()};.getJSON('conSearch', data, functi...
绛旓細2銆佹暟缁勪互鈥淸鈥濆紑濮嬶紝鈥淽鈥濈粨鏉熴傚间箣闂磋繍鐢 鈥,鈥濆垎闅斻 浜屻丣SON瀵硅薄鍜JSON瀛楃涓鐨勮浆鎹㈠湪鏁版嵁浼犺緭杩囩▼涓紝JSON鏄互瀛楃涓茬殑褰㈠紡浼犻鐨勶紝鑰孞S鎿嶄綔鐨勬槸JSON瀵硅薄锛屾墍浠ワ紝JSON瀵硅薄鍜孞SON瀛楃涓蹭箣闂寸殑鐩镐簰杞崲鏄叧閿傚涓嬶細JSON瀛楃涓诧細 JSON瀵硅薄锛 1銆佸皢String杞寲涓篔SON 2銆灏咼SON杞寲涓篠tring 涓夈...
绛旓細var json={"a":"aaa","b":{"c":"ccc","d":[{"e":"01","g":"kkkk"},{"e":"07","g":"lllll"},{"e":"05","g":"xxxxx"},{"e":"03","g"
绛旓細str_data = json.dumps(data)灏瀛楃涓鍐欏叆js鏂囦欢涓 with open('data.js', 'w') as f:f.write(f'var data = {str_data};')鍦ㄤ笂闈㈢殑浠g爜涓紝棣栧厛璇诲彇json鏂囦欢锛岀劧鍚庝娇鐢╦son.dumps()鍑芥暟灏唈son鏂囦欢杞崲鎴愬瓧绗︿覆锛屾渶鍚庡皢瀛楃涓插啓鍏s鏂囦欢涓傛敞鎰忥紝鍦ㄥ皢json鏂囦欢杞崲鎴恓s鏂囦欢鏃讹紝闇瑕佸皢瀛楃涓...
绛旓細杩欎釜闇瑕佷娇鐢鍒癑SON.parse()杩欎釜鏂规硶浜嗐
绛旓細浠ュ墠绔疛S杩涜ajax鐨凱OST璇锋眰涓轰緥锛屽悗绔疨HP澶勭悊璇锋眰涓轰緥锛氬彲浠ョ湅鍒帮紝鐩稿悓鐨勬暟鎹湪杩欓噷鏈3绉嶄笉鍚岀殑琛ㄧ幇褰㈠紡锛屽垎鍒槸鍓嶇鐨凧S瀵硅薄銆浼犺緭鐨JSON瀛楃涓銆佸悗绔殑PHP瀵硅薄锛孞S瀵硅薄鍜孭HP瀵硅薄鏄庢樉涓嶆槸涓涓笢瑗匡紝浣嗘槸鐢变簬澶у鐢ㄧ殑閮芥槸JSON鏉浼犻鏁版嵁锛屽ぇ瀹堕兘鑳界悊瑙h繖绉嶆暟鎹牸寮忥紝閮借兘鎶奐SON杩欑鏁版嵁鏍煎紡寰堝鏄撳湴杞寲涓...
绛旓細JSON锛圝avaScript Object Notation锛夋槸涓绉嶈交閲忕骇鐨勬暟鎹氦鎹㈡牸寮忥紝瀹冧娇鐢ㄤ汉绫诲彲璇荤殑鏂囨湰琛ㄧず鏁版嵁瀵硅薄銆JSON鏁版嵁鐢遍敭鍊煎缁勬垚锛岄敭鏄瀛楃涓锛屽煎彲浠ユ槸瀛楃涓层佹暟瀛椼佸竷灏斿笺佸璞℃垨鏁扮粍銆侸SON鏁版嵁閫氬父鐢ㄤ簬鍦ㄧ綉缁滀笂浼犺緭鏁版嵁鎴栧湪鏈湴瀛樺偍鏁版嵁銆侸S鏁扮粍鍜孞SON涔嬮棿鐨勪富瑕佸尯鍒湪浜庡畠浠殑鐢ㄩ斿拰琛ㄧず鏂瑰紡銆侸S鏁扮粍鏄竴绉...
绛旓細15銆JSONJavaScript Object Notation锛屾槸涓绉嶈交閲忕骇鐨勬暟鎹氦浜掓牸寮忥紝鏈川鏄壒瀹氭牸寮忕殑瀛楃涓锛岀浉姣攛ml鏇寸畝娲侊紝鐜板湪鏄鎴风涓庢湇鍔″櫒绔氦浜掔殑鏈甯哥敤閫夋嫨锛屽凡缁忓緢灏戠敤xml浜嗐16銆佸鏋滆浣跨敤js璇诲彇json鏂囦欢锛岄偅涔坅jax鎿嶄綔鏄繀椤荤殑浜嗗師鐢焌jax鏈夌偣楹荤儲锛屾垜鎯充綘浠」鐩竴瀹氱敤浜嗕粈涔坖s搴擄紝杩欓噷缁欎釜jquery鐨勪緥瀛$get#39...