我正在使用Jackson objectMapper来解析JSON字符串.我将JSON分配给了一些对象RuleModel,其中
JSON是
"{'ruleId': 1000000,
Formula': {
'ruleAggregates': 'foo',
'fields': ['foo', 'foo'],
'Children':[{
'Formula':
{'ruleAggregates': 'a',
'fields': ['1', '2'],
'Children': []}},
{ 'Formula':
{'ruleAggregates': 'b',
'fields': ['3', '4'],
'Children': []}},
{}
]}}",
Run Code Online (Sandbox Code Playgroud)
而java模型是
RuleModel{
private long ruleId;
private Formula formula;
}
Run Code Online (Sandbox Code Playgroud)
和Formula是
Formula{
private String ruleAggregates
private List<String> fields;
private List<FormulaModel> Children;
}
Run Code Online (Sandbox Code Playgroud)
我可以获取ruleId值,并且ruleAggregates值为第一个ruleAggregates,但是当我尝试进入Children时,它获取公式而不是里面的值所以当我从子项中获取任何值时我得到空值
我需要解析每个值的输入.输入大小不是静态的
{"ruleId": 1000000, "Group": "foo", "Formula": {"Aggregate": "foo", "fields":
["foo", "foo"], "Children":
{"child":
[]
} } }
Run Code Online (Sandbox Code Playgroud)
每个孩子都可以包含一个公式列表,每个公式都可以有一个孩子
什么是最好的解析方法,以便我可以获得所有价值,并在需要时递归地挖掘'孩子'?
拆分,正则表达式,Tokenizer?