使用Java将JsonObject转换为字符串
我通过JavaSpringAPI从mongodb获得了一些值。对于下图中的使用Java将JsonObject转换为字符串,java,json,mongodb,gson,Java,Json,Mongodb,Gson,我通过JavaSpringAPI从mongodb获得了一些值。对于下图中的sofTagList,我得到了List。我试图访问标记名内的值字段。当我创建列表时,每次都会得到空值。我尝试用谷歌搜索并将JsonObject转换为字符串。但这无助于解决我的问题。我正在使用com.google.gson.JsonObject包。这是我试图访问的mongodb的屏幕截图 编辑1:添加了代码段 if(null!=person.getSofTagList()){ Lis
sofTagList
,我得到了List
。我试图访问标记名
内的值
字段。当我创建列表时,每次都会得到空值。我尝试用谷歌搜索并将JsonObject转换为字符串。但这无助于解决我的问题。我正在使用com.google.gson.JsonObject
包。这是我试图访问的mongodb的屏幕截图
编辑1:添加了代码段
if(null!=person.getSofTagList()){
List<JsonObject> jsonObj = person.getSofTagList();
System.out.println("Size is ========>> "+ jsonObj.size());
for (JsonObject jsonObject : jsonObj) {
System.out.println("GetTag Name "+jsonObject.getAsJsonObject("tagName"));
}
}
if(null!=person.getSofTagList()){
List jsonObj=person.getSofTagList();
System.out.println(“大小为=====>>”+jsonObj.Size());
for(JsonObject JsonObject:jsonObj){
System.out.println(“GetTag名称”+jsonObject.getAsJsonObject(“标记名”);
}
}
打印尺寸时,我得到30,如图所示。它在for循环中循环30次,但所有时间为空是输出。
希望我的问题清楚。提前感谢。更新for循环中的代码,如下所示:
JSONArray msg = (JSONArray) jsonObject.get("tagName");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
JSONArray msg=(JSONArray)jsonObject.get(“标记名”);
迭代器迭代器=msg.Iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
@NiksTyagi:检查一下。我添加了一些代码。@Java Beginer您可以在循环内的Eclipse中附加一个调试断点,并检查jsonObject
的内容(如果有)。好的。让我试着知道结果@Rakesh@Java Beginer您能更新代码并让我知道结果吗。我会让你知道的。顺便说一句,这个JSONArray属于哪个包??org.json.simple.JSONArray;哦,我错了,我说的是JSONObject,而不是JSONObject。等我检查其他解决方案。对不起。我错误地将给定的代码段放在for循环的外部。现在我改变了。但是从eclipse中得到一些其他奇怪的错误。“无法从JsonElement强制转换为JSONArray”