Android can';是否无法从okhttp中的response.body().string()中获取数据? public类MainActivity扩展了AppCompatActivity{ 字符串jsonData; 反应; 杰索纳雷·贾雷; 私有字符串标签; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StrictMode.ThreadPolicy策略=新建 StrictMode.setThreadPolicy(策略); OkHttpClient=新的OkHttpClient(); 字符串标记=“a”; RequestBody=newformbody.Builder() .add(“令牌”,令牌) .build(); Request Request=newrequest.Builder() .url(“http://www.auffers.com/test/index.php") .职位(机构) .build(); 响应=空; 试一试{ response=client.newCall(request.execute(); }捕获(IOE异常){ e、 printStackTrace(); } 如果(!response.issusccessful())尝试{ 抛出新IOException(“意外代码”+响应); }捕获(IOE异常){ e、 printStackTrace(); } Headers responseHeaders=response.Headers(); 对于(int i=0;i
给我Android can';是否无法从okhttp中的response.body().string()中获取数据? public类MainActivity扩展了AppCompatActivity{ 字符串jsonData; 反应; 杰索纳雷·贾雷; 私有字符串标签; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StrictMode.ThreadPolicy策略=新建 StrictMode.setThreadPolicy(策略); OkHttpClient=新的OkHttpClient(); 字符串标记=“a”; RequestBody=newformbody.Builder() .add(“令牌”,令牌) .build(); Request Request=newrequest.Builder() .url(“http://www.auffers.com/test/index.php") .职位(机构) .build(); 响应=空; 试一试{ response=client.newCall(request.execute(); }捕获(IOE异常){ e、 printStackTrace(); } 如果(!response.issusccessful())尝试{ 抛出新IOException(“意外代码”+响应); }捕获(IOE异常){ e、 printStackTrace(); } Headers responseHeaders=response.Headers(); 对于(int i=0;i,android,okhttp3,Android,Okhttp3,给我{“name”:“John”,“age”:31,“city”:“newyork”}但我无法从中获取不同的元素,如name、age、city,以便将它们保存在数据库中。我已经研究了许多答案,但无法做到这一点 有人能帮我解决这个问题吗?试试看 public class MainActivity extends AppCompatActivity { String jsonData; Response response; JSONArray Jarray; private
{“name”:“John”,“age”:31,“city”:“newyork”}
但我无法从中获取不同的元素,如name、age、city,以便将它们保存在数据库中。我已经研究了许多答案,但无法做到这一点
有人能帮我解决这个问题吗?试试看
public class MainActivity extends AppCompatActivity {
String jsonData;
Response response;
JSONArray Jarray;
private String TAG;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StrictMode.ThreadPolicy policy = new
StrictMode.setThreadPolicy(policy);
OkHttpClient client = new OkHttpClient();
String token="a";
RequestBody body = new FormBody.Builder()
.add("Token",token)
.build();
Request request = new Request.Builder()
.url("http://www.auffers.com/test/index.php")
.post(body)
.build();
Response response = null;
try {
response = client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
if (!response.isSuccessful()) try {
throw new IOException("Unexpected code " + response);
} catch (IOException e) {
e.printStackTrace();
}
Headers responseHeaders = response.headers();
for (int i = 0; i < responseHeaders.size(); i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
try {
System.out.println(response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}}
试一试
你的JSON解析代码在哪里?@KNeerajLal我已经更新了你的JSON解析代码在哪里?@KNeerajLal我已经更新了
Integer age=JSON.getInt(“age”)
bro添加这个,而不是stringage=json.getInt(“age”)代码>谢谢,只是因为复制粘贴没有问题男士:)可能还有其他问题,或者json响应在这种情况下可能会有所不同。请尝试改型2Integer age=json.getInt(“age”)
bro添加这个,而不是stringage=json.getInt(“age”)代码>谢谢,只是因为复制粘贴没问题,男士:)可能还有其他问题,或者json响应可能会有所不同。在这种情况下,请尝试改型2
try {
JSONObject json = new JSONObject(response.body().string());
String name = json.getString("name");
String city = json.getString("city");
int age = json.getInt("age");
} catch (JSONException e) {
e.printStackTrace();
}