java - 如何在java中拆分javascript返回的String对象
问题描述
我有一个对象的字符串数组,我从 javascript 中将其作为单个字符串提取到 java 中。看起来像这样。
[
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu -
krishnalakshmi","objectId":"A1001001A20E08A74322C03420"},
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu -
krishnalakshmi","objectId":"A1001001A20E08A74322C03420"},
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu -
krishnalakshmi","objectId":"A1001001A20E08A74322C03420"}
]
现在我想知道如何在简单的 java 中将其拆分为如下对象:
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu - krishnalakshmi","objectId":"A1001001A20E08A74322C03420"}
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu - krishnalakshmi","objectId":"A1001001A20E08A74322C03420"}
{"sourcevalue":"KRISHNA@IN.IBM.COM","userIdValue":"Krishna L Pappu - krishnalakshmi","objectId":"A1001001A20E08A74322C03420"}
我尝试了split
一种方法,它太笨拙了。提前致谢
解决方案
如前所述@Rabbit
,创建一个反序列化器。有很多方法可以做到这一点,一个样本可能是:
class SimpleObj {
private String sourceValue;
private String userIdValue;
private String objectId;
... getters, and setters ommited
public static List<SimpleObj> deserializer(String data){
Type objType = new TypeToken<ArrayList<SimpleObj>>() {}.getType();
return new ArrayList<>(new Gson().fromJson(data, objType));
}
}
接收字符串的方法deserializer
需要Gson()
库才能工作,因此将其导入您的classpath
,该方法将帮助您将传入的字符串更改为对象列表,就像您想要的那样。
我希望这是有帮助的。
推荐阅读
- strapi - 在 Strapi 中创建内容类型时出现状态 400(错误请求)
- php - 为什么 PHP 文件返回“数组”,而不是其内容
- postgresql - 在单个 GraphQL 突变中插入查询的默认值
- javascript - 需要使用来自 api Reactjs 的数据异步更新表
- git - Git cherry-pick - 如何在不实际执行任何操作的情况下显示更改
- c# - 为 .NET 5/6 win 表单实现托盘图标上的菜单
- ktor - Ktor 中的特殊字符解析
- python-3.x - ManimGL 错误找不到滤芯
- sql-server - 如何指定 SQL 固定日期以在所有国家/地区/语言中工作
- telegram - 如何知道用户从哪里开始聊天?来自内部组还是直接来自内部机器人?