从java中的字符串[{quot;server'u result";:“101";}]中提取数字
我有一个从服务器(在android应用程序中)获取的字符串,例如 我想使用java来提取as从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
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