我發佈了我的HTML響應。任何人都可以幫我解析下面的響應嗎?如何解析此html響應?
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://localhost:53179/hdfcmobile">
{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}
</string>
我發佈了我的HTML響應。任何人都可以幫我解析下面的響應嗎?如何解析此html響應?
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://localhost:53179/hdfcmobile">
{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}
</string>
這不是HTML響應。這是一個JSON響應。
您可以使用許多JSON解析器庫中的一個解析它。在http://www.json.org有一個全面的列表。
UPDATE
你的問題的新版本,你看起來是有是有JSON嵌入到XML元素的XML文檔。
您需要使用XML解析器來提取string
元素的文本內容,然後使用JSON解析器來解析該文本。
爲什麼人們會認爲將XML和JSON混合在一起是一個好主意?
你的迴應是JSON字符串。爲了使用它,你應該把它轉換成JavaScript對象。 eval
功能,可用於這一目的:自從我離開了答案
var response = '{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}';
eval('var a='+response);
alert("Status = " + a.Status);
alert("Data.Loginstatus = " + a.Data[0].Loginstatus);
alert("Data.agentid = " + a.Data[0].agentid);
UPDATE
問題已經更新,所以這裏是除了我的答案:)。爲了提取所獲得的XML響應JSON字符串,你可以使用正則表達式"<string[^>]*>(.*?)<\/string>"
這樣的:
var responseText = '<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://localhost:53179/hdfcmobile">
{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}
</string>';
var oRegExp = new RegExp("<string[^>]*>(.*?)<\/string>", "ig");
var matches = oRegExp.exec(responseText);
var response = matches[1];
之後,你可以使用上面寫的代碼是response
轉換爲JavaScript對象。
使用'JSON.parse()'而不是'eval'。 – sachleen
@sachleen,你說得對,'JSON.parse()'更安全,但是這種方法不適用於舊版瀏覽器。根據developer.mozilla.org的說法,'JSON.parse()'包含在JavaScript 1.7中。 – bhovhannes
感謝您的幫助..我試着用它..但我沒有得到JSON值 – user751828
這只是json
數據。你應該能夠讀取到的對象:
var JSONtext = '{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}'
var myObject = JSON.parse(JSONtext);
至於爲什麼你得到一個JSON對象中的XML作爲迴應,那是另一回事了。一般你的回答應該是JSON或XML
看起來像XML在其中一個節點中使用JSON進行響應 - 而不僅僅是一個JSON響應。您可能會從該節點提取JSON字符串,然後使用JSON.parse(extracted_json)
如何從該節點提取該JSON字符串??我沒有得到它..謝謝.. – user751828
@ user751828看到我的答案。我用正則表達式做了它。 – bhovhannes
不,我問如何從XML響應提取JSON .. – user751828
解析它在什麼情況下您是? Web瀏覽器,node.js?你目前使用jQuery嗎? –
這是JSON響應 – Buzz