String类如何转换为数组

1.打印结果:routeResult:["{\"result\":0,\"reason\":\"17\",\"Id\":\"9439A3C3-2FFD-4C43-BEFE-1AEE3FFCC5CB\"}","{\"result\":0,\"reason\":\"8\",\"Id\":\"D96B7856-EEDC-4B92-BAE7-F2A708B4FD55\"}"]

routeResult为String类型,想把返回值中的中括号去掉

routeResult.replace("[","");
routeResult.replace("]","");
System.out.println("routeResult:"+routeResult);

返回值和原值一样,中括号还存在。

 

2.如何将String值转换为数组?现在是想把上述中括号去除,如何用split分割,返回String数组。

String[] routeResultArray=routeResult.substring(1,routeResult.length()-1).split("\\{\\}");

3.返回值中依然有反斜杠,采用如下方法去除斜杠

compile group: 'com.alibaba', name: 'fastjson', version: '1.2.49'
import com.alibaba.fastjson.JSON;
String str=JSON.parse(routeResultArray[0]).toString();

4.提取str中对应key的值

 

遗留问题:以上只针对返回值只有一个jsonobject时候可以获取;如果返回两个routeResult:["{\"result\":0,\"reason\":\"17\",\"Id\":\"9439A3C3-2FFD-4C43-BEFE-1AEE3FFCC5CB\"}","{\"result\":0,\"reason\":\"8\",\"Id\":\"D96B7856-EEDC-4B92-BAE7-F2A708B4FD55\"}"],根据split还没获取到对应字符串

 

你可能感兴趣的:(String类如何转换为数组)