1

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

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

现在我只想Name在给定的字符串中获取 s 并形成一个Names 的 Stirng[]。请帮我。

4

3 回答 3

3

您需要先解析此 JSON,然后对其进行迭代

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

用java解析json

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

在你解析了这个 JSON 文本之后,它的问题是遍历对象并继续将值推送到 arraylist

一旦你得到了arraylist,你就可以把它转换成一个字符串数组

在 Java 中将 'ArrayList<String> 转换为 'String[]'

于 2013-04-27T12:54:58.673 回答
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);
于 2013-04-27T13:39:22.037 回答
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);
    }
}
}
于 2013-04-27T12:56:24.677 回答