前端将JSON字符串传后台:
var json = {
"name": "hibiki",
"age": 24,
};
//或者
var json = {};
json["name"] = " hibiki";
json["age"] = 24;
//传输
$.ajax({
type: "Post",
url: "xxx",
data: {"me": JSON.stringify(json)}, //序列化为字符串,后台接收的属性名要与"me"一致
...
});
Java后台接收
@PostMapping("/xxx")
@ResponseBody
public void func1(String me){...}
//或者用对象包装,调用Form的getData()读取
Class Form{
String me;
//getter和setter
}
public void func1(Form form){...}
Java后台解析
import org.springframework.boot.configurationprocessor.json.JSONObject;
public void func1(Form form){
JSONObject jsonObj = new JSONObject(form.getMe()); //将JSON字符串转为Java的JSON对象
@SuppressWarnings("unchecked")
Iterator<String> keys = (Iterator<String>) jsonObj.keys(); //取出json的所有key
//遍历key-value
while(keys.hasNext()) {
String key = keys.next().toString();
String value = jsonObj.get(key).toString();
//...对每一个键值对进行操作
}
}