2012-10-11 2 views
-2

내 html 응답을 게시했습니다. 다음 응답을 구문 분석하는 데 도움을 줄 수있는 사람이 있습니까?이 HTML 응답을 구문 분석하는 방법은 무엇입니까?

<?xml version="1.0" encoding="utf-8"?> 

<string xmlns="http://localhost:53179/hdfcmobile"> 
    {"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]} 
</string> 
+0

어떤 컨텍스트에서 사용하고 있습니까? 웹 브라우저, node.js? 현재 jQuery를 사용하고 있습니까? –

+0

이것은 JSON 응답 – Buzz

답변

2

HTML 응답이 아닙니다. JSON 응답입니다.

많은 JSON 파서 라이브러리 중 하나를 사용하여 구문 분석 할 수 있습니다. http://www.json.org에는 포괄적 인 목록이 있습니다.


당신의 질문의 새 버전 업데이트

은, 당신이 어떻게 나타날지 알 JSON은 XML 요소에 포함하고있다 XML 문서입니다.

XML 파서를 사용하여 string 요소의 텍스트 내용을 추출한 다음 JSON 구문 분석기를 사용하여 해당 텍스트를 구문 분석해야합니다.

왜 XML과 JSON을 혼합하는 것이 좋을까요?

+2

입니다. 문자열 요소가 JSON 페이로드 일 때 실제로 XML입니다. – Avi

+0

@Avram - 원래 버전의 질문을 보았습니까? –

+0

내 생각 엔 뮤텍스는 멋있다. – Avi

0

응답은 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를 변환하는 위의 작성된 코드를 사용할 수 있습니다.

+0

'eval' 대신'JSON.parse()'를 사용하라. – sachleen

+0

@sachleen, 맞습니다. JSON.parse()는 더 안전하지만, 구형 브라우저에서는이 방법을 사용할 수 없습니다. developer.mozilla.org에 따르면 JSON.parse()는 JavaScript 1.7 이후에만 포함되어 있습니다. – bhovhannes

+0

UR 도움을 주셔서 감사합니다. 나는 그것을 시도했지만 .. 나는 json 값을 얻지 못하고있다. – user751828

0

그냥 json 데이터입니다.

var JSONtext = '{"Status":"True","Data":[{"Loginstatus":"Success","agentid":1004}]}' 
var myObject = JSON.parse(JSONtext); 

가 왜 응답으로 XML 내부 JSON 객체를 얻고있는에 관해서는, 즉 일반적으로 귀하의 응답은 JSON 또는 XML

이어야한다 .. 또 다른 문제이다 : 당신은 객체로 읽을 수 있어야합니다
0

JSON 응답 만 아니라 노드 중 하나에 JSON과 XML이 일치하는 것처럼 보입니다. 해당 노드에서 JSON 문자열을 추출한 다음 구문을 사용하여 구문 분석합니다. JSON.parse(extracted_json)

+0

그 노드에서 json 문자열을 추출하는 방법 ?? 나는 그것을 얻지 못했습니다 .. 감사합니다 .. – user751828

+0

@ user751828 내 대답을보십시오. 나는 정규식을 사용하여 그것을했다. – bhovhannes

+0

아니요 XML 응답에서 json을 추출하는 방법을 묻습니다. – user751828

관련 문제