서버에서 응답을 구문 분석하려고하는데 불행히도 JSONP 형식입니다. JSONP 형식을 구문 분석하는 방법을 모르겠다. JSON Parser로 시도했을 때 null 값을 반환했다. 누구든지이 일을 도와주세요.JSONP 형식을 JSON으로 변환 할 수있는 방법이 있습니까?
감사합니다.
서버에서 응답을 구문 분석하려고하는데 불행히도 JSONP 형식입니다. JSONP 형식을 구문 분석하는 방법을 모르겠다. JSON Parser로 시도했을 때 null 값을 반환했다. 누구든지이 일을 도와주세요.JSONP 형식을 JSON으로 변환 할 수있는 방법이 있습니까?
감사합니다.
JSONP은 JavaScript 함수 호출로 싸인 JSON입니다. 예를 들면 다음과 같습니다 :
callback({"status":"success", "someVar":1});
그래서 몇 가지 옵션이 있습니다. WebView
을 사용하는 경우 JavaScript에서 callback
이라는 함수를 정의한 다음 JSONP 데이터에 eval()
을 호출하면됩니다. 그러면 callback
함수가 호출되어 파싱 된 JSON 객체가 전달됩니다 (eval()
이 구문 분석을 수행함).
또는 당신이 당신의 자바 코드에서 JSONP 문자열이있는 경우, 가장 간단한 옵션처럼 JSON의 문자열을 추출하는 아마 : 단지 당신을 떠나, callback(
및 );
을 제거합니다
String json = jsonp.substring(jsonp.indexOf("(") + 1, jsonp.lastIndexOf(")"));
{"status":"success", "someVar":1}
으로 변환 한 다음 표준 JSON 파서로 구문 분석해야합니다.
웹 페이지를 사용하고 있지 않습니다. iam이 로그인 목적으로 사용하고 있습니다. respone이 null이 아닌 경우 사용자가 다음 화면으로 이동하면 json 파서를 사용하여 구문 분석 오류가 발생합니다. – wolverine
예, 위의 두 번째 예제를'substring()'호출과 함께 사용하십시오. 그렇다면'JSONValue.parse (json)'또는 JSON 구문 분석기가 무엇이든지 상관 없습니다. Runnable 예 : http://ideone.com/5v3z6 – aroth
미안 ..이 주제에 익숙하지 않다. JSON 파서로 파싱 할 때 null이 표시되므로 어떻게 할 수 있습니까? 제발 완전한 코드를 게시하시기 바랍니다 .. – wolverine