无法在 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.