簡體   English   中英

如何從javascript中的json響應中獲取變量?

[英]How to get variable from the json response in javascript?

我在從響應字符串中獲取變量時遇到問題。 我的回答是這樣的:

responseText = {'page':'2','endOfPage':'yes','content':'abc'}

alert(responseText.page);

正在返回undefined,任何人都可以建議怎么做?

你的問題是你的responseText實際上是一個字符串( responseText = "{'page':'2','endOfPage':'yes','content':'abc'}"; )。 您首先必須解析它以創建一個對象,但這會失敗,因為您使用的單引號是無效的JSON - 您需要使用雙引號來解決問題:

var json= "{ \"page\": 2, \"endOfPage\": \"yes\", \"content\": \"abc\" }";
var obj = JSON.parse(json);
alert(obj.page);

如果您無法更改JSON生成器實現以返回帶雙引號的響應,請嘗試將每個引號替換為雙引號,如下所示:

var invalidJson = "{'page':'2','endOfPage':'yes','content':'abc'}";
validJson= invalidJson.replace(/\'/g, "\"");
var obj = JSON.parse(validJson);
alert(obj.page);
  • 如果您使用的是jQuery,可以使用:

responseText ='{“page”:“2”,“endOfPage”:“yes”,“content”:“abc”}';
responseText = jQuery.parseJSON(responseText);
警報(responseText.endOfPage);

  • 在Javascript中:
 responseText = '{"page":"2","endOfPage":"yes","content":"abc"}'; alert(JSON.parse(responseText).page); 

一些現代瀏覽器支持將JSON解析為本機js對象

您需要使用eval函數將json轉換為object:

responseText = {'page':'2','endOfPage':'yes','content':'abc'}​​​​
var responseObject = eval(responseText);

alert(responseObject.page);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM