【发布时间】:2016-02-14 11:10:48
【问题描述】:
'recipient.firstName': 'Fred',
'recipient.lastName': 'Johnson'
有什么优雅的方法可以把它变成:
var recipient = {
firstName: 'Fred',
lastName: 'Johnson
}
在前端使用 JS?我想 POST JSON,但使用 HTML 似乎不太容易完成,因此我想用 jQuery 拦截 POST 并将其格式化为我想要的 JSON。
编辑:为清楚起见,我将保留上面的原始问题,但如果您仔细阅读,您会发现我遇到的问题不是使用 AJAX 将数据发布到 REST API。这非常简单并且已经实现。正在发生的事情是,我正在使用我创建的模板引擎动态构建表单,并且构建表单 ID 和名称以表示嵌套数据,例如收件人.firstName。但是,当我收到作为 JSON 传递到 API 端点的数据时,我需要以编程方式将其从第一种格式转换为第二种格式,如果您仔细阅读,这就是问题的实际问题。很抱歉有任何混淆,我在下面列出的答案解决了这个问题。
【问题讨论】:
-
你应该尝试一下然后问一个问题。遍历属性,查找带有点的属性并为这些属性创建子对象。看起来没那么难,我不想写代码让你学习体验
-
是的,Juan,这基本上就是我现在正在写的内容。
-
字符串化对象,替换收件人。带空白并解析字符串。 JSON.parse(JSON.stringify(original).replace(/recipient\./g,''))
标签: javascript jquery html json