如何在java中拆分javascript返回的字符串对象



我有一个对象的字符串数组,我将其从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,该方法将帮助您将传入字符串更改为对象列表,就像您想要的那样。

我希望这是有帮助的。

我使用这段代码来实现我从Javascript获得的反序列化json对象列表的要求。希望这有助于反序列化从前端检索的对象列表的要求。

@SuppressWarnings("unchecked")
public static AttributeValue[] jsonToObject (String jsonObj, Class gilClass) {      
Gson gson = new Gson(); 
return gson.fromJson(jsonObj, AttributeValue[].class);      
}

最新更新