如何从另一个主Json配置文件生成Json
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从另一个主Json配置文件生成Json相关的知识,希望对你有一定的参考价值。
我有一个主JSON文件,其中包含配置文本作为模板。像下面这样。
"first": "This is the first line",
"second": "This is the second line",
"third": "This is the third line",
"fourth": "This is the fourth line"
我想根据一些规则从上面的母版生成另一个JSON文件。例如,请参见下面的代码片段了解我的要求
"first": "This is the first custom line",
"second": [I want this populated from master.second and master.fourth],
"third": [I want this populated from master.third],
"fifth": "This is the local fifth section"
正在寻找有关最佳方法的建议。通常,我希望能够配置大量复杂文件。
我的应用程序是基于Java的,因此,使用JSON,Java或任何其他兼容工具的任何建议将不胜感激。
谢谢
虽然那些json看起来很相似,但是它们不能映射到相同的Java对象,seconds
和third
字段的类型不同
所以根据您的假设,我认为最简单的方法是创建2个类,例如
class MasterJsonObject
private String first;
private String second;
private String third;
private String fourth;
class GeneratedJsonObject
private String first;
private List<String> second;
private List<String> third;
private String fourth;
读取json并将其映射到MasterJsonObject
,类似创建GeneratedJsonObject
GeneratedJsonObject generatedJsonObject = new GeneratedJsonObject();
generatedJsonObject.setFirst(masterJsonObject.getFirst());
generatedJsonObject.setSecond(Arrays.asList(masterJsonObject.getSecond(), masterJsonObject.getForth()));
...
然后您可以将generatedJsonObject
写为json
您可以使用通用方法和其他方法来实现更强大的行为...
要使用Java读写json,我建议调查Jackson
如果您只想连接字符串,例如[],我假设您的代码"second": [I want this populated from master.second and master.fourth],
表示list
,>
"second": "This is the second line This is the fourth line"
答案更改为:
- 不需要第二堂课(
generatedJsonObject
) - 使用
.setSecond(masterJsonObject.getSecond() + " " + masterJsonObject.getForth());
创建jsonObject
您可以使用模板框架,如freemarker。并使用json库将json数据转换为Map / List形式,以便模板框架可以使用它。
以上是关于如何从另一个主Json配置文件生成Json的主要内容,如果未能解决你的问题,请参考以下文章
动态生成 uniapp 配置文件 pages.json 的解决方案
uni-app 为何package.json配置以后不会生成文件?