我在AngularJS应用程序中进行对象映射时很震惊。
在html中,我有大约10行,每行有一个标签和2个日期字段。
每行都映射到一个java对象,如下所示
public class RowObject {
private Long id;
private String label;
private Date startDate;
private Date endDate;
// getters / setters
}
我正在尝试使用下面的HTML代码
<div class="form-group">
<label class="control-label col-md-3">Row 1</label>
<div class="input-group col-md-4">
<input id="startDate1" type="text" class="form-control" ng-model="entity.rowObjects[0].startDate">
<input id="endDate1" type="text" class="form-control" ng-model="entity.rowObjects[0].endDate">
<input type="text" ng-model="entity.rowObjects[0].id" ng-value="1" style="display: none;">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Row 2</label>
<div class="input-group col-md-4">
<input id="startDate2" type="text" class="form-control" ng-model="entity.rowObjects[1].startDate">
<input id="endDate2" type="text" class="form-control" ng-model="entity.rowObjects[1].endDate">
<input type="text" ng-model="entity.rowObjects[1].id" ng-value="1" style="display: none;">
</div>
</div>
错误消息
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
at [Source: org.apache.cxf.transport.http.AbstractHTTPDestination$1@40cc74d9; line: 1, column: 2] (through reference chain: com.jai.model.Entity["rowObjects"])
答案 0 :(得分:1)
我认为你的问题出在Java方面。我不能确切地告诉你在哪里没有提供你的java代码,但一般的问题是你试图将json对象反序列化:{}
到一个ArrayList(期望一个json数组:{{1} })
只是对您的角度代码发表评论,我建议您使用ng-repeat:
[]