gpt4 book ai didi

java - GAE 数据存储文本弄乱了 JSON 表示

转载 作者:行者123 更新时间:2023-12-01 14:38:21 24 4
gpt4 key购买 nike

以下代码摘录从 Java 映射构建 Google App Engine 数据存储区实体。短字符串(小于450个字符)直接存储,长字符串转换为Text对象。

for (String key : movieMap.keySet()) {
String value = movieMap.get(key).trim();
if (value.length()>0 && value.length()<450) { // Short String - store as is
movieEntity.setProperty(key, value);
} else if (value.length()>=450) { // Long String - convert to text
movieEntity.setProperty(key, new Text(value));
}
}

以下代码以 Json 对象的形式检索实体:

Map<String, Object> result = new LinkedHashMap<String, Object>();
result.put("numberOfMovies", String.valueOf(movies.size()));
result.put("movies", movies);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
resp.getWriter().print(gson.toJson(result));

字符串的结果 JSON description字段:

{

"propertyMap": {
"title": "טאנו מתחתנת עם מאנו - Tanu Weds Manu",
"duration": "154 דקות",
"movieId": "2315",
"image_url": "http://www.sderot-cin.org.il/media/sal/movies2009/2315/f18_tano mithatenet iim mano.jpg",
"description": "סינמסטה - מועדון הסרט ההודי רופא ממוצא הודי חוזר מלונדון במטרה לפגוש את כלתו המיועדת. הוא מופתע לגלות כי היא מאוהבת במישהו אחר ואין בכוונתה להינשא לו. התנהגותה הפראית גורמת לו לשקול מחדש את צעדיו.",
"explorationDate": "Apr 26, 2013 8:42:36 PM",
"actors": "קנגנה רנאוט, אר מדווהין",
"year": "2011",
"language": "הינדית",
"director": "אנאנד ראי",
"country": "הודו"
}
},
{

文本的结果 JSON description字段,有一个奇怪的内部字典:

      "propertyMap": {
"title": "הנעליים של אדון סימון - הצגת תיאטרון לילדים",
"movieId": "2316",
"image_url": "http://www.sderot-cin.org.il/media/sal/movies2009/2316/f18_anaaliim shel adon simon.jpg",
"description": {
"value": {
"value": "תיאטרון אורנה פורת לגילאי 3-7 אדון סימון עוזב את ארצו ועובר לגור בארץ אחרת. בביתו החדש הוא מחליט להיפרד מנעליו הישנות שליוו אותו כל חייו ולהחליפן בנעליים חדשות, אך משום מה הוא לא מצליח להיפטר מהישנות. בכל פעם שהוא זורק אותן, רחוק ככל שיהיה, הן תמיד חוזרות אליו בדרך פלא. הצגה מרגשת ומצחיקה שמלמדת אותנו לקבל בשמחה את הדברים החדשים שבחיינו ובאותו זמן להבין שאפשר גם להתגעגע לדברים הישנים. משך ההצגה כ50 דקות. כרטיסים: מכירה מוקדמת-30 ₪, ביום ההצגה-40 ₪ מנוי/מלווה : מכירה מוקדמת 20 ₪, ביום ההצגה 30 ₪."
}
},
"explorationDate": "Apr 26, 2013 8:42:36 PM"
}
},

问题是description对于 String 字段,field 返回正常( key : value 对),但有一个奇怪的内部 value文本字段键 - 比较 description在这两个例子中。

知道如何制作 Text字段表现正常并显示为标准

最佳答案

看起来内部字典是序列化复杂的 GAE 数据存储文本对象的结果。

既然您使用键访问数据字段,那么我猜注释和一些 getter/setter 方法是不可能的?

在这种情况下,解决此问题的一个简单方法可能是在检索 map 后对其进行迭代,并使用标准字符串设置(替换)文本“描述”字段(如果它们是文本类型)。

然后,当您序列化为 JSON 时,这些字符串将像其他字符串一样处理。

关于java - GAE 数据存储文本弄乱了 JSON 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16256578/

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