Java - 将字符串转换为字符串数组

时间:2013-04-27 12:50:03

标签: java android string arrays

我是Java新手。请帮我。以下是将HTTP POST方法实现为响应后的字符串:

 {"Result":"{  \"Search\": [    {      \"Code\": \"200\"    },    {      \"Message\": \"Fetched successfully\"    },    {      \"Name\": \"1\",      \"id\": \"166\",      \"PID\": \"162\"    }  ]}"}

现在我想在给定的字符串中只获得Name并形成Name的Stirng []。请帮帮我。

3 个答案:

答案 0 :(得分:3)

您需要首先解析此JSON,然后迭代它

http://www.mkyong.com/java/json-simple-example-read-and-write-json/

parsing json with java

https://stackoverflow.com/questions/338586/a-better-java-json-library?rq=1

在解析了这个JSON文本之后,它就是迭代对象并继续将值推入arraylist

获得arraylist之后,就可以将其转换为String数组

Converting 'ArrayList<String> to 'String[]' in Java

答案 1 :(得分:1)

这里使用这个:

public class CStringToCharArray {
 public static void main(String[] args) {
    String testString = "This Is Test";
    char[] stringToCharArray = testString.toCharArray();

    for (char output : stringToCharArray) {
        System.out.println(output);
    }
}
}

答案 2 :(得分:1)

您可以使用以下代码提取名称及其值

    List<String> nameValues = new ArrayList<String>();
    Matcher matcher1 = Pattern.compile("\\\\\"Name\\\\\":\\s\\\\\"[^,}\\]]+\\\\\"").matcher(value);
    while (matcher1.find()) {
        String keyValuePair = matcher1.group();
        String[] keyValue = keyValuePair.split(":");
        String val = keyValue[1].trim();
        System.out.println(keyValue[0]);
        System.out.println(">" + val + "<");
        nameValues.add(val.substring(2, val.length() - 2));
    }
    System.out.println(nameValues);