我有一个问题是将新的json插入旧的json,已经尝试找到它,但我不知道正确的关键字,
假设我在<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</RelativeLayout>
上有一个json:
foo1.js
和function jsonapi(){
var ItemJSON = {
"salutation":"foo1"
,"location":"foo2"
,"reference_code":"foo3"
}
}
:
foo2.js
jsonapi();
var json = {
,"isCustomer":"foo4"
,"email_to":"foo5"
,"phone":"foo6"
}
Goal :
有办法实现我的目标吗?
答案 0 :(得分:1)
这里有一个相当全面的答案:How to join two JavaScript Objects, without using JQUERY
然而,从上述链接窃取第一个答案:
var result = {};
for(var key in obj1) result[key] = obj1[key];
for(var key in obj2) result[key] = obj2[key];
答案 1 :(得分:1)
问题是在函数内声明变量。
请尝试以下操作。
将变量声明为全局并在函数中更新它。
var itemJSON = {};
function jsonapi(){
itemJSON = {
"salutation":"foo1",
"location":"foo2",
"reference_code":"foo3"
}
}
foo2.js
jsonapi();
var json = {
"isCustomer":"foo4",
"email_to":"foo5",
"phone":"foo6"
};
Object.assign
使用let output = Object.assign(itemJSON, json);
console.log(output);
组合两个对象。
foo1.js
另一种方式:
从foo1.js
中的函数返回数据。
function jsonapi(){
return {
"salutation":"foo1",
"location":"foo2",
"reference_code":"foo3"
}
}
foo2.js
var itemJSON = jsonapi();
var json = {
"isCustomer":"foo4",
"email_to":"foo5",
"phone":"foo6"
};
let output = Object.assign(itemJSON, json);
console.log(output);
{{1}}
答案 2 :(得分:0)
以下是使用Javascript .concat方法的示例。
var array1 = [
{
"name":"salutation",
"value":"foo1"
},
{
"name":"location",
"value":"foo2"
},
{
"name":"reference_code",
"value":"foo3"
}
];
var array2 = [
{
"name":"isCustomer",
"value":"foo4"
},
{
"name":"email_to",
"value":"foo5"
},
{
"name":"phone",
"value":"foo6"
}
];
console.log(array1.concat(array2));
答案 3 :(得分:0)
您使用<button id="sendContact" type="submit" name="sendContact">Submit</button>
作为函数,因此如果您想获得该func值,则需要返回数据!看看jsonapi
如何工作......
Object.assign()方法用于将所有可枚举的自有属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
Object.assign
&#13;