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