Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用regex通过服务器拆分响应_Java_Android_Response - Fatal编程技术网

Java 如何使用regex通过服务器拆分响应

Java 如何使用regex通过服务器拆分响应,java,android,response,Java,Android,Response,我想分割通过服务器收到的响应,以便获取值并设置文本。。但我不能接受这些价值观 响应:{“status”:“no”,“requestCount”:“0”,“estelamCount”:“0”} log==>I/phoneName:{“status”:“no”我想您是在询问解析您的响应,您就是这样做的 JSONObject myJson = new JSONObject(response); String status = myJson.optString("status"); String co

我想分割通过服务器收到的响应,以便获取值并设置文本。。但我不能接受这些价值观

响应:{“status”:“no”,“requestCount”:“0”,“estelamCount”:“0”}


log==>I/phoneName:{“status”:“no”

我想您是在询问解析您的响应,您就是这样做的

JSONObject myJson = new JSONObject(response);

String status = myJson.optString("status");
String count = myJson.optString("requestCount");
String estelamCount = myJson.optString("estelamCount");

您从服务器接收json数据,所以您可以像前面的答案所指出的那样将其解析为json。更好的是,您可以使用Gson库解析数据,如下所示:, 1-创建一个表示响应的类,您可以使用类似的工具来实现,只需粘贴json字符串,然后从右侧的选项中选择Java作为目标语言,json作为源类型,Gson作为注释样式,然后输入您想要使用的任何类名,结果如下所示 包com.example

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Response {

@SerializedName("status")
@Expose
public String status;
@SerializedName("requestCount")
@Expose
public String requestCount;
@SerializedName("estelamCount")
@Expose
public String estelamCount;
}
然后,当您想要处理结果时,您可以按如下方式执行

Gson gson = new Gson();
//now you can parse the response string you received, here is responseString
Response response = gson.fromJson(responseString, Response.class);
//now you can access any field using the response object 
Log.d("Reponse" , "status =  " + response.status  + ", requestCount = " + response.requestCount + ", estelamCount = " + response.estelamCount ; 

服务器是否以{“status”:“no”,“requestCount”:“0”,“estelamCount”:“0”}响应?如果响应,您希望将其拆分为status:no,resquestCount:0,estelamCount:0?Basil嗨,我的朋友,但我在截击中使用了。因此,我必须删除@SerializedName(“status”)并公开。
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Response {

@SerializedName("status")
@Expose
public String status;
@SerializedName("requestCount")
@Expose
public String requestCount;
@SerializedName("estelamCount")
@Expose
public String estelamCount;
}
Gson gson = new Gson();
//now you can parse the response string you received, here is responseString
Response response = gson.fromJson(responseString, Response.class);
//now you can access any field using the response object 
Log.d("Reponse" , "status =  " + response.status  + ", requestCount = " + response.requestCount + ", estelamCount = " + response.estelamCount ;