无法在 android 上解析 JSON
Cannot resolve JSON on android
我在使用 JSON 和 android 中的 okhttp 时遇到了这个问题。
谁能指出我正确的方向?我是新手,所以任何帮助都可以。
这是我的进口商品:
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONException;
import org.json.*;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.MediaType;
您缺少 JSON
引用的声明:
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
来自the documentation中的示例代码:
public class PostExample {
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
}
请注意,查看您正在使用的代码的文档始终是个好主意,在这种情况下,您调用 RequestBody.create()
时,您可以查看 the documentation for this method,其中您可以看到第一个参数是MediaType引用:
public static RequestBody create(MediaType contentType,
String content)
Returns a new request body that transmits content. If contentType is non-null and lacks a charset,
this will use UTF-8.
我在使用 JSON 和 android 中的 okhttp 时遇到了这个问题。 谁能指出我正确的方向?我是新手,所以任何帮助都可以。
这是我的进口商品:
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONException;
import org.json.*;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.MediaType;
您缺少 JSON
引用的声明:
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
来自the documentation中的示例代码:
public class PostExample {
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
}
请注意,查看您正在使用的代码的文档始终是个好主意,在这种情况下,您调用 RequestBody.create()
时,您可以查看 the documentation for this method,其中您可以看到第一个参数是MediaType引用:
public static RequestBody create(MediaType contentType, String content)
Returns a new request body that transmits content. If contentType is non-null and lacks a charset, this will use UTF-8.