Java JSON 序列化器 Play 框架

标签 java json playframework

您好,我正在使用 Play Framework 2.3,我想在 java 脚本中使用 Java 对象。为此我尝试使用 json.这是对象:

public class List{
protected List<entry> entries = new ArrayList<>();
public void setEntries(entry> entries) {
    this.entries = entries;
}
public void addEntry(Entry entry){
    Entries.add(entry);

public List<List.Entry> getEntry() {
    if (entries == null) {
        entries = new ArrayList<Entry>();
    }
    return this.entries;

} Entry 类只包含一个 double 和一个 String + setter 和 getter。 这是我想在其中使用该对象的 View

@(list: List)
@import play.api.libs.json.Json
@main("VIEW") {
...
<script>
var arr = @Html(Json.toJson(list.getEntry)) ;
...
</script>
} 

我总是收到消息:“找不到类型 java.util.List[models.List.Entry] 的 Json 序列化程序。尝试为此类型实现隐式写入或格式。”我能找到的唯一指南和教程是针对 scala 的,但我使用 java。那么你能解释一下我如何编写序列化程序或在没有 json 的情况下将对象获取到 javaScript 吗?

最佳答案

您可以在 Entry 类上编写一个简单的 toJson 方法。

public ObjectNode toJson() {
    ObjectNode node = Json.newObject();
    node.put("yourDouble", doubleField);
    node.put("yourString", stringField);
    return node;
}

然后只需在您的条目中使用它即可。 在 html 中你可以做这样的事情:

var arr = @Html(Json.toJson(list.getEntry.map(_.toJson())) ;

关于Java JSON 序列化器 Play 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859192/

相关文章:

java - JTextPane - HTMLDocument : when adding/removing a new style, 其他属性也发生变化

java - 扩展层次结构的具体基类

javascript - 如何刷新 Controller 以更改/刷新 AngularJS 中的 JSON 调用?

javascript - 似乎无法让这个 GET 方法在 AngularJS 中正常工作

scala - 如何通过 Scala 中的 Play Framework 2.5 流式传输压缩文件(即时)?

sql - MS SQL 配置与 Slick 2.0.1 和 Playframework 2.2.2

java - 将事件驱动代码转换为阻塞代码

java - 函数的返回值不存储在任何变量中时是否占用内存?

json - 使用 jq 在 json 中进行类似正则表达式的搜索

PlayFramework:Swagger CORS 问题