1. js中字元串轉化成對象
使用eval()函數。可以講json字元串轉換為json對象。
varjson1='{"aa":"a","bb":"b","length":2,"cc":"ll"}';
vardata=eval('('+json1+')');//轉換字元串為json對象
alert(data.cc);//輸出「ll」
函數說明:
eval() 函數可計算某個字元串,並執行其中的的 javaScript 代碼。
語法
eval(string)
參數 描述
string
必需。要計算的字元串,其中含有要計算的 JavaScript 表達式或要執行的語句。
返回值
通過計算 string 得到的值(如果有的話)。
說明
該方法只接受原始字元串作為參數,如果 string 參數不是原始字元串,那麼該方法將不作任何改變地返回。因此請不要為 eval() 函數傳遞 String 對象來作為參數。
如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性,並通過該屬性調用它,則 ECMAScript 實現允許拋出一個 EvalError 異常。
2. js怎樣生成json的數據
1、按照描述,題主是想將多條數據記錄提交到服務端,同時服務端將數據插入到資料庫。那麼思路是將多條數據存在數組中,調用post方法的介面傳入後端。
2、方法如下:
var sendData = [];
sendData.push({name:'david',age:'20'});
sendData.push({name:'peter',age:'23'});
2、jquery中post與get的區別:
1) $.get() 方法使用GET方法來進行非同步請求的。$.post() 方法使用POST方法來 進行非同步請求的。
2)get請求會將參數跟在URL後進行傳遞,而POST請求則是作為HTTP消息的實體 內容發送給Web伺服器的,這種傳遞是對用戶不可見的。
3) get方式傳輸的數據大小不能超過2KB 而POST要大的多。
4)GET 方式請求的數據會被瀏覽器緩存起來,因此有安全問題。
3. js字元串轉json,存到數組里
{id:'item1',num:1,id:'item2',num:2,id:'item3',num:3}
這是個什麼啊,就算轉成對象,key都是重復的,自然前邊的被後邊的覆蓋,只剩一對。
你想從{id:'item1',num:1,id:'item2',num:2,id:'item3',num:3}轉換到[{id:'item1',num:1},{id:'item2',num:2},{id:'item3',num:3}],這個規則太復雜了,在key存在重復的情況下常規方法應該是處理不了的,需要取巧投機。
4. JS如何判斷一個字元串是不是JSON格式
||
//所謂json格式,無非就是對象或者數組版
//就是所謂的{}、[]
varstr="{}";
varobj=null;
try{
obj=eval("("+str+")");
}catch(e){
}
varxy=Object.prototype.toString.call(obj);
if(xy=="[objectObject]"|權|xy=="[objectArray]"){
console.log("是json格式");
}else{
console.error("不是json格式");
}