サーバーからの応答を解析しようとしていますが、このトピックは初めてです。残念ながら、JSONP 形式です。JSONP 形式を解析する方法がわかりません。JSON パーサーで試したところ、null 値が返されました。誰でもこれを行うのを手伝ってもらえますか...
前もって感謝します。
JSONPは、JavaScript関数呼び出しでラップされたJSONです。たとえば、次のようなものです。
callback({"status":"success", "someVar":1});
したがって、いくつかのオプションがあります。を使用している場合は、JavaScriptでWebView
呼び出される関数を定義してから、JSONPデータを呼び出すだけです。これにより、関数が呼び出され、解析されたJSONオブジェクトが渡されます(解析が自動的に行われます)。callback
eval()
callback
eval()
または、JavaコードにJSONP文字列がある場合、最も簡単なオプションは、次のようにJSONサブ文字列を抽出することです。
String json = jsonp.substring(jsonp.indexOf("(") + 1, jsonp.lastIndexOf(")"));
これにより、が削除されcallback(
、);
が残ります{"status":"success", "someVar":1}
。これは、標準のJSONパーサーで解析する必要があります。