応答文字列をJSONオブジェクトに渡そうとすると、「java.lang.String型の値をJSONObjectに変換できません」というエラーが表示されます。私は過去に似たようなことを試しましたが、うまくいきました。なぜそれが起こっているのかわかりません。
これがコードです
public void searchMovie(){
OkHttpClient client = new OkHttpClient();
url = Constants.moviebaseurl + mEdit.getText();
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
final String myResponse = response.body().toString();
SearchActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject json = new JSONObject(myResponse);
JSONArray results = json.getJSONArray("results");
mText.setText(results.getJSONObject(0).getString("title"));
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
});
}
私は何か間違ったことをしているのですか、それとも何かが足りないだけですか?ご協力ありがとうございました!
それは変化して働いた
final String myResponse = response.body().toString();
にとって
final String myResponse = response.body().string();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加