私はサーバーからの応答を解析しようとしていますが、私はこのトピックの初心者です。残念ながら、JSONP形式です。私はJSONP形式を解析する方法を知らないのですが、JSON Parserでnull値を返してみました。 誰でもこの作業を手伝ってもらえますか?JSONP形式をJSON形式に変換する方法はありますか?
ありがとうございました。
私はサーバーからの応答を解析しようとしていますが、私はこのトピックの初心者です。残念ながら、JSONP形式です。私はJSONP形式を解析する方法を知らないのですが、JSON Parserでnull値を返してみました。 誰でもこの作業を手伝ってもらえますか?JSONP形式をJSON形式に変換する方法はありますか?
ありがとうございました。
はJavaScript関数呼び出しでラップされたJSONです。たとえば、次のようなものがあります。
callback({"status":"success", "someVar":1});
あなたにはいくつかのオプションがあります。 WebView
を使用している場合は、JavaScriptでcallback
という関数を定義してから、JSONPデータでeval()
と呼ぶだけです。これにより、callback
関数が呼び出され、解析されたJSONオブジェクトが渡されます(eval()
が解析を行います)。
それとも、あなたはJavaコードでJSONPの文字列を持っている場合は、最も簡単なオプションは次のように、JSONの部分文字列を抽出することが考えられます:だけであなたを残して、callback(
と);
を取り除きます
String json = jsonp.substring(jsonp.indexOf("(") + 1, jsonp.lastIndexOf(")"));
{"status":"success", "someVar":1}
は、標準のJSONパーサーと解析する必要があります。
私はwebviewを使用していません。これはログイン用にiamを使用していますので、responeがnullでない場合、ユーザーは次の画面に入ります。json parserを使用して解析エラーが発生します。 – wolverine
はい、上記の2番目の例を 'substring()'呼び出しで使用してください。次に、JSONValue.parse(json)、またはJSONパーサーと同じものを実行します。実行可能な例:http://ideone.com/5v3z6 – aroth
申し訳ありません..私はこのトピックに新しいです。JSONパーサで解析するとき、nullを表示するので、どうすればいいのですか?私に完全なコードを投稿してください。 – wolverine