如何在另一个 JSON 中包含一个 JSON?

sre*_*ath 5 php jquery json

我的第一个 JSON 是:

{  
  "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"]]  
}  
Run Code Online (Sandbox Code Playgroud)

这将来自一个 java URL,这里我使用的是 PHP,在 PHP 中我调用的是一个 java URL。

我的第二个 JSON 是:

{"criterias":"Location"}
Run Code Online (Sandbox Code Playgroud)

我正在使用 JQuery 生成它。如何将第二个 JSON 包含到第一个 JSON 标准中?

小智 7

将一个文件包含在另一个文件中的最简单方法是使用 cpp(C 预处理器)。

例如,如果我有 test.json 作为

{"name":"NAME",
#include "another.json"
}
Run Code Online (Sandbox Code Playgroud)

和 another.json 作为

"inner":"value"
Run Code Online (Sandbox Code Playgroud)

你应该能够获得

$ cpp -P test.json
{"name":"NAME",
"inner":"value"
}
Run Code Online (Sandbox Code Playgroud)

当然,您需要通过正确格式化这两部分来确保生成的语法是正确的。

  • 必须说这是一种非常有创意的方式,不会说它是最优雅的,但我喜欢这个想法。 (2认同)

Pur*_*ham 1

您需要将第一个 JSON 字符串转换为对象并向其添加新属性。

如果是Java,可以使用Google的Gson

Gson gson = new Gson();
JsonObject jsonObj = gson.fromJson (jsonStr, JsonElement.class).getAsJsonObject();
jsonObj.add("criterias", "Location");
Run Code Online (Sandbox Code Playgroud)

如果是 JavaScript,

var jObj = JSON.parse(jsonString);
jObj.criterias = "Location";  //jObj.NewItem = "NewValue";
Run Code Online (Sandbox Code Playgroud)