我有一个包含许多输入字段的表单,用于从用户获取数据。此数据专用于许多对象。我想在angularjs中用这些数据创建一个json对象,并相应地将它发送回服务器。
My Java Class对应于:
public class MyData{
private List<Data1> listData1;
private String value;
}
public class Data1{
private String name;
private List<Data2> listData2;
}
public class Data2{
private String address;
}
这与AngularJS中的以下对象相对应:
var data= {
listData1: {
listData2: {
address: ""
},
name:"",
},
value:""
};
在服务器端,在我的控制器中,我尝试检索这样的数据:
public @ResponseBody List<MyData> save(@RequestBody List<MyData> data){
}
在我的angularjs控制器中,我发送一个帖子请求如下:
$http.post('/save', angular.toJson(data))
但是在运行它时,我收到错误的请求错误。 ( 400错误请求)
我是否正确创建了对象?我正确地将它转换为JSON吗?服务器和客户端之间的通信是否正确?哪一块拼图被打破或遗失?
答案 0 :(得分:0)
您似乎混淆了JSON对象和数组。
private void writeToFile(String data, String fileName) {
try {
String UTF8 = "UTF-8";
int BUFFER_SIZE = 8192;
FileOutputStream fileOutputStream = openFileOutput(fileName, Context.MODE_PRIVATE);
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream, UTF8), BUFFER_SIZE);
bufferedWriter.write(data);
bufferedWriter.close();
} catch (IOException e) {
Log.e("writeToFile: ", "Datei-Erstellung fehlgeschlagen: " + e.toString());
}
}
解析为:
Data2
{ address: "" }
解析为:
Data1
{ name: "", listData2: [ %Data2% ] }
解析为:
MyData
{ listData1: [ %Data1% ], value: "" }
解析为:
List<MyData>
预期输入的一个例子:
[ %MyData% ]