JSON中讓key作為參數傳入的方法


一個字符串作為key,一個數組作為value

var key ="myKey";

var values =new Array();

values.push(a);

values.push(b);

目標:json = {"myKey":values};

但是,"myKey"是作為參數傳入的,不能直接寫死,而json = {key:values}; 的結果是{"key":values}不滿足要求,而json還不支持

json = {"" + key:values};這種格式,所以,想直接把key作為參數傳入的思路是不行的


解決方法如下:

第一步:先寫一個字符串

var stringJson ='{"'+ key +'": ""}';

第二步:將字符串轉換為json對象,方法有兩種

1.使用JSON.parse(),但是此種方法需要較高版本的瀏覽器支持,但是http://www.json.org/提供了一個json.js,就可以支持低版本的瀏覽器也可以在https://github.com/douglascrockford/JSON-js上獲取到這個js,一般現在用json2.js

var json = JSON.parse(stringJson);

2.使用eval(),但是此種方法不是很安全

var json = eval('('+stringJson+')');

//注:主意格式要求

第二步之后,json的值就變為{"myKey":""}的形式了

第三步:給json重新賦值

json[key]= values;

在第三步之后,json的值就變為{"myKey":value}的形式了,達到目標要求


注: 參考 JSON對象和字符串之間的相互轉換 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM