[英]How do I change this JSON string to a specific format?
我正在将一个字符串从视图传递到 controller。 这是我的 ajax 代码
var formData = $('#spec-wip-form, #platingspec-form').serializeArray();
var platingId = @Model.PlatingId;
var form = JSON.stringify(formData);
$.ajax({
url: "/Specifications/Edit",
type: 'PUT',
data: { form, cleaningProcess, platingId },
success: function () {
onUpdated();
}
});
我得到的 JSON 格式看起来像这样
"[{\"name\":\"PlatingId\",\"value\":\"1\"},{\"name\":\"DivisionId\",\"value\":\"79\"}]
我希望它看起来像这样
"[{\"PlatingId\":\"1\"},{\"DivisionId\":\"79\"}]
我之前已经尝试过了,但是
var formData = $('#spec-wip-form, #platingspec-form').serialize();
我明白了
formData: PlatingId=1&DivisionId=79&
我该怎么做?
感谢@SebastionSimon 的更正。 此外,这不是双重字符串化以匹配您的预期结果。 您始终可以通过 JSON.stringify 再次运行它以匹配。
let json = '[{"name":"PlatingId","value":"1"},{"name":"DivisionId","value":"79"}]'; let newjson = JSON.stringify( JSON.parse(json).map( ({name, value}) => ({[name]: value}) )) console.log(newjson)
您可以使用 Object.fromEntries() 创建单个 object。
const formData = [{"name":"PlatingId","value":"1"},{"name":"DivisionId","value":"79"}]; const res = Object.fromEntries(formData.map(({name,value})=> [name, value])); console.log(res)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.