Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-将字符串转换为字符串数组_Java_Android_String_Arrays - Fatal编程技术网

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

Java-将字符串转换为字符串数组,java,android,string,arrays,Java,Android,String,Arrays,我是Java新手。请帮帮我。以下是作为响应实现HTTP POST方法后的字符串: {"Result":"{ \"Search\": [ { \"Code\": \"200\" }, { \"Message\": \"Fetched successfully\" }, { \"Name\": \"1\", \"id\": \"166\", \"PID\": \"162\" } ]}"} 现在我只想得到给定

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

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

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

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

解析完这个JSON文本后,就需要迭代对象并将值不断推送到arraylist中

一旦获得arraylist,就可以将其转换为字符串数组


您需要首先解析这个JSON,然后遍历它

解析完这个JSON文本后,就需要迭代对象并将值不断推送到arraylist中

一旦获得arraylist,就可以将其转换为字符串数组


这里使用这个:

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);
    }
}
}

这里使用这个:

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);
    }
}
}

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

    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);
List nameValues=new ArrayList();
Matcher matcher1=Pattern.compile(“\\\\\”Name\\\\”:\\s\\\\\\\\”[^,\\\\]+\\\”).Matcher(值);
while(matcher1.find()){
字符串keyValuePair=matcher1.group();
字符串[]keyValue=keyValuePair.split(“:”);
字符串val=keyValue[1]。trim();
System.out.println(keyValue[0]);

System.out.println(“>”+val+“您可以使用下面的代码提取名称及其值

    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);
List nameValues=new ArrayList();
Matcher matcher1=Pattern.compile(“\\\\\”Name\\\\”:\\s\\\\\\\\”[^,\\\\]+\\\”).Matcher(值);
while(matcher1.find()){
字符串keyValuePair=matcher1.group();
字符串[]keyValue=keyValuePair.split(“:”);
字符串val=keyValue[1]。trim();
System.out.println(keyValue[0]);


System.out.println(“>”+val+”是的,我已经阅读了这些链接..但是这里的问题是Json数组有“\”。所以我无法正确获取Json数组。你能告诉我如何形成“Name”的字符串数组吗输入上面放置的字符串???@user2326860这是控制台输出还是这是您在java变量中存储它的方式?@user2326860不需要,请先将所有“\”替换为“”,以便在您的响应IF(response.contains(“\”){response=response.replaceAll(“\”,”);}中没有反斜杠我已经这样做了…但是\并没有替换..你能把它改成替换\…试试这个字符串str2=“Str\\sdfsdf”String Str=“\\\\\”System.out.println(str2.replaceAll(Str)”);是的,我已经读过这些链接..但这里的问题是Json数组有“\”。因此,我无法正确获取JSon数组。您能告诉我如何在上面放置的字符串中形成“Name”键的字符串数组吗?@user2326860这是控制台输出还是您将其存储在java变量中的方式?@user2326860不需要,请先将所有“\”替换为“”,以便您的响应中没有反斜杠(response.contains(“\”){response=response.replaceAll(“\”,”);}我已经这样做了…但是\没有替换..你能把它改成替换\…试试这个字符串str2=“Str\\sdfsdf”;String=“\\\”System.out.println(str2.replaceAll(Str)”);您的JSON格式不正确,您应该检查您的服务器代码以避免对数据进行双重JSON转换(注意
\“
元素,应该没有这些元素,只有双引号,没有斜杠)是的,格式不正确…但是从上面的JSON对象中,我不能得到“Name”的字符串数组吗"值…此JSON格式的响应字符串,搜索如何解析JSON字符串或查看@gurvinder372 answer@user2326860如果无法更改服务器部件,最好进行双重JSON转换,首先将
getepexamresult
的内容作为字符串,然后再次将此字符串解析为JSON以正确的格式获取数据。但是,您更愿意接受粗制滥造的答案,这需要多次尝试才能使其正常工作,并且最终会在将来的任何时候停止工作。好吧,祝您的选择好运=)这是JSON,您真的应该对它进行解析。如果问题是它的格式不正确-那么可能这就是需要修复的地方。您的JSON格式不正确,您应该检查服务器代码以避免对数据进行双重JSON转换(注意
\“
元素,应该没有这些,只有双引号,没有斜杠)是的,它的格式不正确…但是从上面的JSON对象我不能得到“Name”的字符串数组吗"值…此JSON格式的响应字符串,搜索如何解析JSON字符串或查看@gurvinder372 answer@user2326860如果无法更改服务器部件,最好进行双重JSON转换,首先将
getepexamresult
的内容作为字符串,然后再次将此字符串解析为JSON以正确的格式获取数据。但是,您更愿意接受粗制滥造的答案,这需要多次尝试才能使其正常工作,并且最终会在将来的任何时候停止工作。好吧,祝您的选择好运=)这是JSON,你真的应该对它进行解析。如果问题是它的格式不正确-那么这可能就是需要解决的问题。因此,使用你的代码,我得到每个字符作为输出…但我只希望字符串键为“Name”…你能为PLS提供代码吗…所以,使用你的代码,我得到每个字符作为输出…但我只希望字符串键为“Name”…您可以为该plss提供代码吗…非常感谢…但是通过使用您的代码,我可以获取ex的所有键和值。我可以获取代码、消息、名称、类别ID…但我只需要名称…您可以修改代码,使我能够仅检索名称值并存储在字符串数组中…plss只需对keyValue[0]进行if检查并使用keyValue[1]填充列表