我想转换
var connection = {
someName:'someValue'
}
到
data:{'connection.someName':'someValue'}
我该怎么做?
详细说明;
我有
var data ={connection : {name : 'SomeName', url:'SomeUrl'}}
我发布
$.ajax({
type : 'POST'
data : data
....
})
我的后端需要表单数据,如
connection.name='SomeName'
connection.url='SomeUrl'
所以它可以将连接数据绑定到Connection bean
感谢。
答案 0 :(得分:0)
虽然您正在寻找的结果是技术上有效的JSON,但这不会按预期进行解析:
var x = JSON.parse("{\"data.someName\":\"someValue\"}");
x.data.someName;
// Error: x.data is undefined
这是因为解析器将整个文字视为单个键,因此您必须像这样访问该值:
var x = JSON.parse("{\"data.someName\":\"someValue\"}");
x["data.someName"]
// "someValue"
为了符合要求,你真正想要的是,可解析的JSON是这样的:
{"data":{"someName":"someValue"}}
解析器会适当地对待它:
var x = JSON.parse("{\"data\":{\"someName\":\"someValue\"}}");
x.data.someName;
// "someValue";