php - 合并 json 字符串的唯一键的值

标签 php javascript jquery json

我有一个像这样的json输出代码:

{"a":{"p1":"1"},"a":{"p2":"2"},"b":{"b1":"b2"}}

如何使用 javascript 或 jquery 或 php 将其转换为以下内容?

{"a":{"p1":"1","p2":"2"},"b":{"b1":"b2"}}

编辑: 我通过这段代码生成json代码:

parts2.push('"'+$(this).attr('alt')+'":{"'+$(this).attr('title') + '"' + ":" + '"'+$(this).attr('value') + '"}' );

但是 $(this).attr('alt') 可能会在循环中重复,我想防止重复的键,而是将值附加到该键

最佳答案

对象的每个属性都应该有一个唯一的键名称。如果您尝试使用重复的键名称解析 JSON,则仅使用最后出现的值,因此无法使用 native JSON.parse 解析此值,并且仍然希望保留数据。

根据您的编辑,您可以防止重复发生:

var obj = {};

if typeof obj[$(this).attr('alt')] == "undefined"
    obj[$(this).attr('alt')] = {};

obj[$(this).attr('alt')][$(this).attr('title')] = $(this).attr('value');
parts2.push(JSON.stringify(obj));

关于php - 合并 json 字符串的唯一键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563501/

相关文章:

php - 需要 php 多维数组和 json 响应的帮助

php - 数组到XML相同的关键问题

javascript - 无法读取简单表的未定义属性 'mData'

HTML 元素上的 Javascript onkeydown 事件

javascript - 在 PHP 和 JavaScript 中保存动态添加的行

javascript - 在 jQuery 脚本中放置 15 秒延迟

javascript - 如何在提交后使 php 表单只读并在同一页面上单击编辑可编辑?

php - 单击按钮时转到下一页并刷新上一页 Jquery Mobile

javascript - 向类原型(prototype)添加方法,出错

javascript - Spark POST 返回 404 not found 看似任意