如果您的文本始终采用该格式并且您不想使用 JSON 对其进行解析,那么您可以执行以下操作。
进行您自己的错误检查和完整性检查。
(处理是否存在空格、未找到搜索键等)
public static void main(String []args){
String s1 = " \"{\"measurements\": [\"528391^MDC_DEV_SPEC_PROF^M12343\"], \"metrics\": [\"150021^MDC_PRESS_BLD_NONIN234^MDC\", \"150022^MDC_PRESS_BLD_NONINV_DIA^MDC\", \"150023^MDC_PRESS_BLD_12344^MDC\", \"149546^MDC_PULS_RATE_INV^MDC\"], \"accessoryTypes\": [] }\"";
String testString = "measurements\": [\"";
String endString = "\"],";
System.out.println(s1);
String result = getValue(s1, testString, endString);
System.out.println("RESULT = "+result);
}
public static String getValue(String s1, String keyString, String endString){
int from = s1.indexOf(keyString) + keyString.length();
int to = s1.substring(from).indexOf(endString);
return s1.substring(from, from+to);
}
你的结果将如下所示
$java -Xmx128M -Xms16M HelloWorld
"{"measurements": ["528391^MDC_DEV_SPEC_PROF^M12343"], "metrics": ["150021^MDC_PRESS_BLD_NONIN234^MDC", "150022^MDC_PRESS_BLD_NONINV_DIA^MDC", "150023^MDC_PRESS_BLD_12344^MDC", "149546^MDC_PULS_RATE_INV^MDC"], "accessoryTypes": [] }"
RESULT = 528391^MDC_DEV_SPEC_PROF^M12343