嘿,我有一个JSON字符串,即
{"userId":"WaNenOnQt","photos":[{"photo_url":"vendor_photos/WaNenOnQt/web_(138)(4thcopy).JPG","index":1},{"photo_url":"vendor_photos/WaNenOnQt/54230451_265006064447640_7942942433146217157_n.jpg","index":2}]}
我只想要列表数据,即-
[{"photo_url":"vendor_photos/WaNenOnQt/web_(138)(4thcopy).JPG","index":1},{"photo_url":"vendor_photos/WaNenOnQt/54230451_265006064447640_7942942433146217157_n.jpg","index":2}]
java中是否有任何replace函数,或者如何分隔列表?
假设您正在通过公开的端点获取JSON,则应将其绑定到方法签名,例如,如果您使用的是Spring:
public class MyPojo {
private String userId;
private List<Photo> photoList;
//getters & setters
}
Photo class
public class Photo {
@JsonProperty("photo_url")
private String url;
private int index;
//getters & setters
}
Controller class
@RequestMapping(value = "/test", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> test(@RequestBody MyPojo request) {
List<Photo> photos = request.getPhotoList();
}
或者,如果没有端点,则可以使用Java的ObjectMapper将JSON字符串手动转换为POJO,反之亦然。例如:
public void transform(String jsonString) throws... {
ObjectMapper mapper = new ObjectMapper();
MyPojo pojo = mapper.readValue(jsonString, MyPojo.class);
List<Photo> photo = pojo.getPhotoList();
}
我还假设您需要一个Java列表,并且不需要将JSON数组简单地当作字符串。
您可以使用小型json库
String jsonstring = "{\"userId\":\"WaNenOnQt\",\"photos\":[{\"photo_url\":\"vendor_photos/WaNenOnQt/web_(138)(4thcopy).JPG\",\"index\":1},{\"photo_url\":\"vendor_photos/WaNenOnQt/54230451_265006064447640_7942942433146217157_n.jpg\",\"index\":2}]}";
JsonValue json = JsonParser.parse(jsonstring);
JsonValue photos = json.asObject().first("photos");
String result = photos.toCompactString();
• 如何使用 python 删除或忽略 JSON 文件中的条目?
• 如何在 Java 中使用 replaceAll 从 JSON 字符串中删除值
• 如何使用pd.json_normalize取回我需要的数据
• 如何在 net 6 中使用 system.text.json 更新 json 值
• 我应该如何在 Cassandra 中存储嵌套的 JSON 对象?
• 使用 querySelectAll,不知道如何在句点和引号后插入空格
• 如何对 df 中的每个元素使用循环(具有 5 种不同的度量),然后替换每个元素/数据点
• 如何使用下面的类从web服务中动态读取下面给出的JSON数据,并为收到的数据创建水平列表视图。
• 如何使用 jq [重复]读取 bash 变量中带连字符的键的 json 值