我陷入了以下问题.
我的后端(Java sevlet)从数据库返回MongoDB中单个记录/文档中的所有字段.将此JSON字符串发送到前端,在此完成一些魔术.
这是通过以下代码完成的:
public String getDocumentJSON(int id) {
DBCollection collection = database.getCollection("People");
BasicDBObject query = new BasicDBObject();
query.put("id", id);
DBCursor cur = collection.find(query);
DBObject one = cur.next();
return JSON.serialize(one);
}
前端需要一个字段:photos []
使用此字段创建新的记录/文档. (这是带有照片文件名的数组).较早的记录/文档没有此字段,这会导致前端中断.
为了防止这种情况,我想在将数组photos []发送到前端之前将其添加到JSON.但是我不确定如何将该数组添加到JSON.
最好,我的代码将检查JSON或DBObject是否具有photos []字段,如果有,则什么都不做,如果它不包含此字段.然后将其添加.
前端只需要photos [],即使它是空的也没问题.
我宁愿在前端的后端中解决此问题.
解决方法:
这样的事情应该起作用:
DBObject one = cur.next();
if (one.get("photos") == null)
one.put("photos", new Object[0]);
return JSON.serialize(one);
标签:arrays,json,java
来源: https://codeday.me/bug/20191127/2076459.html