My first JSON is:
{
"categoryId":"Painting",
"subCategoryId":"Residential",
"alternatives": [1,2,3,4,5],
"criterias":["price","quantity","yom","company"],
"answers":[["1000","12343","4543","","4645646"],["12","23","34","","45"],["2014","","2000","1990","2005"],["xyz","","Abc","jkl","mno"]]
}
This will come from a java URL, here I am using PHP, in PHP I am calling a java URL.
My Second JSON is:
{"criterias":"Location"}
I am generating this using JQuery. How can I include the second JSON into the first JSON criterias?
4 Answers
The simplest way to include one file in another is to use cpp (C preprocessor).
For example, if I have test.json as
{"name":"NAME",
#include "another.json"
}
and another.json as
"inner":"value"
you should be able to obtain
$ cpp -P test.json
{"name":"NAME",
"inner":"value"
}
Of course, you will need to make sure that resulting syntax is correct by properly formatting both pieces.
I believe the original question is how to merge these 2 JSON objects within javascript. Assuming that, the answer is simple.
var firstJson = {
"categoryId":"Painting",
"subCategoryId":"Residential",
"alternatives": [1,2,3,4,5],
"criterias":["price","quantity","yom","company"],
"answerss":[["1000","12343","4543","","4645646"],["12","23","34","","45"],["2014","","2000","1990","2005"],["xyz","","Abc","jkl","mno"]]
};
var secondJson = {"criterias":"Location"};
firstJson.criterias = $.extend({},firstJson.criterias,secondJson.criterias);
You need to convert your first JSON string to object and add a new property to it.
If it is Java, you can use Google's Gson library
Gson gson = new Gson();
JsonObject jsonObj = gson.fromJson (jsonStr, JsonElement.class).getAsJsonObject();
jsonObj.add("criterias", "Location");
If it is JavaScript,
var jObj = JSON.parse(jsonString);
jObj.criterias = "Location"; //jObj.NewItem = "NewValue";
Here is the example of how you write nested JSON
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
For More examples visit following links: