您好,我正在使用 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/