![](/img/trans.png)
[英]Convert Map<String, Set> to POJO using Jackson / Gson API
[英]Set JSONArray into String in POJO class using GSON
我有一个jsonarray,为此我创建了pojo类。 现在,我想将jsonarray设置为一个字符串。 当我这样做时,它会抛出错误的The JsonDeserializer StringTypeAdapter failed to deserialize json object given the type class java.lang.String
。 这个问题有所不同,因为我想将jsonarray设置为String所以,任何人都有任何想法?
Gson.toJson()返回一个String ..
所以..
String myArrayAsAString = gsonInstance.toJson(myJsonArray);
你是这个意思吗?
你可以设置方法uself。 公共类BookDeserializer实现JsonDeserializer {
@Override
public Book deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
throws JsonParseException {
final JsonObject jsonObject = json.getAsJsonObject();
final JsonElement jsonTitle = jsonObject.get("title");
final String title = jsonTitle.getAsString();
final String isbn10 = jsonObject.get("isbn-10").getAsString();
final String isbn13 = jsonObject.get("isbn-13").getAsString();
final JsonArray jsonAuthorsArray = jsonObject.get("authors").getAsJsonArray();
final String[] authors = new String[jsonAuthorsArray.size()];
for (int i = 0; i < authors.length; i++) {
final JsonElement jsonAuthor = jsonAuthorsArray.get(i);
authors[i] = jsonAuthor.getAsString();
}
final Book book = new Book();
book.setTitle(title);
book.setIsbn10(isbn10);
book.setIsbn13(isbn13);
book.setAuthors(authors);
return book;
}
}
假设您有一个productInfo数组:
List<ProductInfo> productInfos = new ArrayList<>();
// fill your productInfos, etc.
然后你想获得productInfos'JsonArray的String表示:
JsonArray productInfoJsonArray = (JsonArray) new Gson().toJsonTree(productInfos,
new TypeToken<List<ProductInfo>>() {
}.getType());
productInfoJsonArray.getAsString();
我不完全确定你想要实现的目标,但我希望上面的代码片段有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.