gpt4 book ai didi

java - 如何在java中将json字符串中的多条记录插入到google数据存储中

转载 作者:行者123 更新时间:2023-12-01 21:50:30 25 4
gpt4 key购买 nike

每当我收到 json 字符串作为请求时,我都必须将其插入到数据存储实体中。以下是读取 json 字符串并将其存储到实体中的示例代码。

    DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Key abckey = KeyFactory.createKey("aaa","aaa1");
Entity abcentity = new Entity(abckey);
JSONArray abc;
Iterator iter = abc.iterator();
while (iter.hasNext()) {
innerObj = (JSONObject) iter.next();
abcentity.setProperty("id",Integer.parseInt(innerObj.get(
"id").toString()));
abcentity.setProperty("mid", Integer.parseInt(innerObj
.get("mid").toString()));
abcentity.setProperty("status", 1);
abcentity.setProperty("tid", touserid);
ds.put(abcentity);

}

只要有记录,它就会迭代 json 数组。但在谷歌管理控制台中,它只显示最后一条记录。这是将多条记录插入数据存储的正确方法吗?如果没有,请建议我一些解决方案。

最佳答案

这是因为您只创建一次。

试试这个:

DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
JSONArray abc;
Iterator iter = abc.iterator();
while (iter.hasNext()) {
innerObj = (JSONObject) iter.next();
// create
Key abckey = KeyFactory.createKey("aaa",Long.parseLong(innerObj.get(
"id").toString()));
Entity abcentity = new Entity(abckey);

// fill with data
// ...
// abcentity.setProperty ...
//

// save
ds.put(abcentity);
}

Key 是实体的标识符,而不是名为 id 的字段

关于java - 如何在java中将json字符串中的多条记录插入到google数据存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35287731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com