从java中的字符串[{quot;server'u result";:“101";}]中提取数字

从java中的字符串[{quot;server'u result";:“101";}]中提取数字,java,android,string,Java,Android,String,我有一个从服务器(在android应用程序中)获取的字符串,例如 我想使用java来提取as101信息。我尝试使用String.replace(),但它不起作用 谢谢这很明显JSON。使用以下命令: string = "[{\"server_result\":\"101\"}]"; JSONArray array = new JSONArray(string); JSONObject obj = array.getJSONObject(0); str = obj.getString("ser

我有一个从服务器(在android应用程序中)获取的字符串,例如

我想使用java来提取as
101
信息。我尝试使用String.replace(),但它不起作用


谢谢

这很明显JSON。使用以下命令:

string = "[{\"server_result\":\"101\"}]";
JSONArray array = new JSONArray(string);
JSONObject obj = array.getJSONObject(0); 

str = obj.getString("server_result"); // str == "101"

如果您不想使用JSON,请考虑如下:

string = "[{\"server_result\":\"101\"}]";
String digitsOnly= string.replaceAll("[^0-9]", ""); // digitsOnly == "101"

它将从字符串中删除所有非数字字符。

这很明显JSON。使用以下命令:

string = "[{\"server_result\":\"101\"}]";
JSONArray array = new JSONArray(string);
JSONObject obj = array.getJSONObject(0); 

str = obj.getString("server_result"); // str == "101"

如果您不想使用JSON,请考虑如下:

string = "[{\"server_result\":\"101\"}]";
String digitsOnly= string.replaceAll("[^0-9]", ""); // digitsOnly == "101"

它将从字符串中删除所有非数字字符。

如果您得到一个包含该信息的字符串,
replace()
应该可以正常工作

String s = "[{\"server_result\":\"101\"}]";
s = s.replace("101", "somethingToReplace");
您可能刚刚忘记将
replace()
的值赋给字符串

编辑:

由于要从字符串中检索数字,因此可以使用正则表达式,也可以手动提取(当字符串始终具有相同的形式时):


但我建议使用正则表达式,因为它更具可读性

如果您得到一个包含该信息的字符串,
replace()
应该可以正常工作

String s = "[{\"server_result\":\"101\"}]";
s = s.replace("101", "somethingToReplace");
您可能刚刚忘记将
replace()
的值赋给字符串

编辑:

由于要从字符串中检索数字,因此可以使用正则表达式,也可以手动提取(当字符串始终具有相同的形式时):


但我建议使用正则表达式,因为它更具可读性

这是一种JSON格式。。服务器总是以Json格式从AT返回。 用这个简单的方法找到数字

string = "[{"server_result":"101"}]";
JSONArray array = new JSONArray(string);
JSONObject obj = array.getJSONObject(0);

str = obj.getString("server_result"); // str == "101"

这是一种JSON格式。。服务器总是以Json格式从AT返回。 用这个简单的方法找到数字

string = "[{"server_result":"101"}]";
JSONArray array = new JSONArray(string);
JSONObject obj = array.getJSONObject(0);

str = obj.getString("server_result"); // str == "101"

如果你不想使用json,那么你就必须简单明了地使用它:

String serverString = "[{\"server_result\":\"101\"}]";
String[] splittedString = serverString.split(":"); //split 
splittedString[1] = splittedString[1].replace("\"", "").replace("}", "").replace("]", ""); //remove unnecessary chars
int i = Integer.parseInt(splittedString[1]); //try to parse to int
System.out.println(i);  //print it

如果你不想使用json,那么你就必须简单明了地使用它:

String serverString = "[{\"server_result\":\"101\"}]";
String[] splittedString = serverString.split(":"); //split 
splittedString[1] = splittedString[1].replace("\"", "").replace("}", "").replace("]", ""); //remove unnecessary chars
int i = Integer.parseInt(splittedString[1]); //try to parse to int
System.out.println(i);  //print it

感谢但我不喜欢使用JSONTANK。但是我不喜欢使用JSON这是来自ET的JSON..是的。但它只是一根细绳。我想用string类来替换它。我不想使用太多的lib我想没有任何lib可以用来调用JSON这是JSON fromet..是的。但它只是一根细绳。我想用string类来替换它。我不想使用太多lib,我想没有任何lib可以用来调用JSON