合并两个json(深层嵌套)

编程入门 行业动态 更新时间:2024-10-27 16:34:56
本文介绍了合并两个json(深层嵌套)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我尝试将两个json分别与$.extend和$.merge合并,但是没有成功.我还尝试将其附加为:

I tried to merge two json both with $.extend and $.merge but no success. I also tried to attach it like this:

data: JSON.stringify({"data" : [ {term: request.term}, jsontag ]}),

这是我的设置:

autocomplete: ({ source: function (request, response) { var tags = $('#input-newsearch-2').val(); var jsonfied = { tags: tags.replace(/,$/, "").split(",").map(function (tag) { return { tag: tag }; }) }; var jsontag = JSON.stringify(jsonfied); var jsonterm = JSON.stringify({ term: request.term }); //console.log(jsontag); //console.log(jsonterm); //var mergedObj = $.extend(jsontag, jsonterm); //console.log(mergedObj); $.ajax({ url: "/source", type: "POST", contentType: "application/json; charset=utf-8", dataType: "json", data: [jsontag, jsonterm], success: function (data) { response(data); } }); }, });

控制台:

{"tags":[{"tag":"value01"},{"tag":"value02"},{"tag":"value03"}]} {"term":"value04"}

我希望得到某事:

[{"term":"value04"},{"tags":[{"tag":"value01"},{"tag":"value02"},{"tag":"value03"}]}]

甚至更好:

{"data":[{"term":"value04"},{"tags":[{"tag":"value01"},{"tag":"value02"},{"tag":"value03"}]}]}

推荐答案

您可以简单地做到这一点,并实现您想要的目标.

You can simply do this, and achieve what you desire.

const mergedJSON = {data: []}; mergedJSON.data.push(jsonterm); mergedJSON.data.push(jsontag); console.log(JSON.stringify(mergedJSON));

输出将是

{"data":[{"term":"value04"},{"tags":[{"tag":"value01"},{"tag":"value02"},{"tag":"value03"}]}]}

哪个更符合您的更好方案.检查此 jsFiddle 进行演示.

Which fits your even better scenario. Check this jsFiddle for demo.

更多推荐

合并两个json(深层嵌套)

本文发布于:2023-10-24 23:53:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1525354.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:嵌套   两个   json

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!