A. jquery json問題
jquery返回的是字元串,不是對象,用eval(xx)把xx封裝成對象就可以了
B. 如何使用jquery取出json格式的數據
不知道你想做什麼。
jquery是運行在瀏覽器端的一個js
函數庫,json被瀏覽器解析之後就內是
一個js字面量容(或叫做對象)
。你說拼接,是不是把兩個json的數據變成一個對象?我覺得這完全沒必要吧,如果你需要同時獲取兩個json你可以在伺服器端直接把這兩次請求合並為一個,這樣只用一次請求
速度還快一些
。
如果你非要獲取兩次然後拼接成一個對象也可行。
function
callback(json){
這里寫你處理最終json的代碼
}
$.getjson("url1",
function(json1)
{//獲取第一個json
$.getjson("url2",
function(json2)
{//回調函數中獲取第二個json
var
key;
for
(key
in
json2)
{//遍歷第二個json對象添加到第一個json中
json1[key]
=
json2[key];
};
callback(json1);
//處理最終得到的json對象
});
});
C. 如何用jquery讀取json文件裡面的數值並且修改保存
<script>
var data = {num:0}
function fn(){
data.num ++;
}
</script>
D. jQuery 中 字元串轉成 Json 格式
jQuery中使用jQuery.parseJSON()方法將字元串轉為json格式
例如:
jQuery.parseJSON('{"test":1}');
注意:
傳入格式有誤的 JSON 字元串可能導致拋出異常。例如,下面這些無效的 JSON 字元串:
{test:1}//(test沒有使用雙引號包裹).
{'test':1}//('test'用了單引號而不是雙引號包裹).
"{test:1}"//(test沒有使用雙引號包裹).
"{'test':1}"//('test'用了單引號而不是雙引號包裹).
"'test'"//('test'用單引號代替雙引號).
".1"//(number必須以數字開頭;"0.1"將是有效的).
"undefined"//(undefined不能表示一個JSON字元串;然而null,可以).
"NaN"//(NaN不能表示一個JSON字元串;用Infinity直接表示無限也是不允許的).
擴展:
JSON(javaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(網路傳輸速率)。
E. JS使用JSON.parse(),JSON.stringify()實現對對象的深拷貝功能分析
本文實例講述了JS使用JSON.parse(),JSON.stringify()實現對對象的深拷貝功能。分享給大家供大家參考,具體如下:
根據不包含引用對象的普通數組深拷貝得到啟發,不拷貝引用對象,拷貝一個字元串會新辟一個新的存儲地址,這樣就切斷了引用對象的指針聯系。
測試例子:
var
test={
a:"ss",
b:"dd",
c:[
{dd:"css",ee:"cdd"},
{mm:"ff",nn:"ee"}
]
};
var
test1
=
JSON.parse(JSON.stringify(test));//拷貝數組,注意這行的拷貝方法
console.log(test);
console.log(test1);
test1.c[0].dd="change";
//改變test1的c屬性對象的d屬性
console.log(test);
//不影響test
console.log(test1);
測試結果:
根據測試結果,我們可以看到,test1已經從test復制一份,並且test1改變其中屬性的值時,對原來的對象test沒有造成影響。
JSON.parse(),JSON.stringify()兼容性問題
可以通過為IE7以及IE7以下版本的IE瀏覽器引入json2.js,使用json2.js來解決JSON的兼容性問題
<!--[if
lt
IE
7]>
<script
src="具體放路徑/json2.js"></script>
<![endif]-->
json2.js的github地址為:https://github.com/douglascrockford/JSON-js
好了,到這里就實現了,使用JSON.parse(),JSON.stringify()對對象的深拷貝~~
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關於JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找演算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與演算法技巧總結》、《JavaScript遍歷演算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
您可能感興趣的文章:JavaScript基於遍歷操作實現對象深拷貝功能示例JavaScript對象的淺拷貝與深拷貝實例分析JavaScript
中對象的深拷貝js對象淺拷貝和深拷貝詳解淺談JavaScript中面向對象的的深拷貝和淺拷貝jQuery深拷貝Json對象簡單示例JavaScript對象拷貝與賦值操作實例分析淺談angularJs函數的使用方法(大小寫轉換,拷貝,擴充對象)JavaScript對象拷貝與Object.assign用法實例分析js實現數組和對象的深淺拷貝
F. jquery讀取json內指定的內容
用jquery each遍歷
$.ajax({
url: seturl,
dataType:"JSON",
type:'POST',
data:{'mesId':detId},
cache: false,
success: function(data){
$.each(data,function(k,v){
if(v.id == 1 || v.id == 3 || v.id == 5){
}
});
}
});
G. jquery怎麼傳遞json格式的參數
可使用工具類
JSON.stringify() 方法用於游好彎將神悶 JavaScript 值轉換為 JSON 字元串。
json傳襪枯遞之前轉換成字元串
後台接受到之後轉換成json格式即可
H. jquery ajax 怎樣跨域獲取 json 數據
jsonp是英文json with padding的縮寫。它允許在伺服器端生成script tags至返回至客戶端,也就是動態生成javascript標簽,通過javascript callback的形式實現數據讀取。
html頁面端示例代碼:
復制代碼代碼如下:
//首先要引入jquery的js包
jQuery(document).ready(function(){
$.ajax({
type : "get", //jquey是不支持post方式跨域的
async:false,
url : "http://api.taobao.com/apitools/ajax_props.do", //跨域請求的URL
dataType : "jsonp",
//傳遞給請求處理程序,用以獲得jsonp回調函數名的參數名(默認為:callback)
jsonp: "jsoncallback",
//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名
jsonpCallback:"success_jsonpCallback",
//成功獲取跨域伺服器上的json數據後,會動態執行這個callback函數
success : function(json){
alert(json);
}
});
});
伺服器端示例代碼,以java為例:
伺服器端代碼,是重點,開始以為,只要客戶端通過jsonp就可以直接跨域訪問,其實不然,需要伺服器端的支持才行。
復制代碼代碼如下:
public void jsonpTest() throws IOException{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
//根據html指定的jsonp回調函數的參數名,獲取回調函數的名稱
//callbackName的值其實就是:success_jsonpCallback
String callbackName = (String)request.getAttribute("jsoncallback");
//簡單模擬一個json字元串,實際可使用google的gson進行轉換,次數通過字元串拼接
//{"name":"張三","age":28}
//\是對"號進行轉義
String jsonStr = "{\"name\":\"張三\",\"age\":28}";
//最終返回的數據為:success_jsonpCallback({"name":"張三","age":28})
String renderStr = callbackName+"("+jsonStr+")";
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(renderStr);
}
I. jquery怎麼獲取json里其中一個值
json字元串是key:value鍵值對,要獲取key對應的value值,只需要jsonobject.key就行了,在你的代碼里就是版ds.key(要獲取的value對應的權key)
補充一下,你這個應該先獲取table屬性對應的值(是個數組)獲取數組的第一個元素然後在.key
ds.Table[0].key 比如ds.Table[0].NAME能獲取「張三」
J. jquery怎麼把json字元串轉數組對象
jquery把json字元串轉數組對象的方法:
//數組轉json串 var arr = [1,2,3, { a : 1 } ]; JSON.stringify( arr );
//json字元串轉數組 var jsonStr = '[1,2,3,{"a":1}]'; JSON.parse( jsonStr );