Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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中,如何将一个字符串与多个json对象分开?_Java_Json_Httpclient - Fatal编程技术网

在java中,如何将一个字符串与多个json对象分开?

在java中,如何将一个字符串与多个json对象分开?,java,json,httpclient,Java,Json,Httpclient,我需要一些帮助:我有一个通过http GET请求得到的字符串,在这个字符串中有许多项是以json形式编写的。我的问题是如何分离或检索该项并将其保存为json文件 以下是我打印回复的方式: String responseBody = EntityUtils.toString(response.getEntity()); System.out.println(responseBody); 这可能适合您: import java.io.File; import java.io.IOException

我需要一些帮助:我有一个通过http GET请求得到的字符串,在这个字符串中有许多项是以json形式编写的。我的问题是如何分离或检索该项并将其保存为json文件

以下是我打印回复的方式:

String responseBody = EntityUtils.toString(response.getEntity());
System.out.println(responseBody);

这可能适合您:

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Test {
    
    
    public static void main(String[] args) throws IOException {
        ObjectMapper  objectMapper = new ObjectMapper();
        String responseBody ="{ \"result\": [ { \"name\": \"tom\", \"gender\": \"male\", \"address\": {\"city\": \"NY\", \"town\": \"US\"}, \"age\": \"20\"}, { \"name\": \"sarah\", \"gender\": \"female\", \"address\": {\"city\": \"NY\", \"town\": \"US\"}, \"age\": \"22\"}] } ";
        JsonNode jsonNode = objectMapper.readValue(responseBody, JsonNode.class);
        JsonNode jsonArray =jsonNode.get("result");
        
        if (jsonArray.isArray()) {
            for (JsonNode objNode : jsonArray) {
                String fileName = String.format( "file%s.json",objNode.get("name").asText());
                objectMapper.writeValue(new File(fileName), objNode);
            }
        }
    
    }

}

在这里,我将
responseBody
转换为JsonNode对象,然后迭代
result
字段的每个元素,并将其保存为文件。

您能否与JSON共享一个字符串示例。@JobyWilsonMathews我的打印类似于{“result”:[{“name”:“tom”,“性别”:“男性”,“地址”:{“城市”:“纽约”,“城镇”:“美国”},“年龄”:“20”},{“姓名”:“莎拉”,“性别”:“女性”,“地址”:{“城市”:“纽约”,“城镇”:“美国”},“年龄”:“22”},…]}@SalahEddineBelmabrouk如果您想将字符串值转换为json,你可以检查,或者如果你想将json写入一个文件,你可以检查@Sha,但是在我的字符串中我有不同的json对象,你明白吗?@SalahEddineBelmabrouk,你有一个jsonobject,比如
列表结果
;您的用户对象包含
名称、性别和地址(这是另一个包含城市、城镇的类)字段
。所以你可以在这里使用gson库。