我从api获取数据,并试图找出最有效的方法来测试给定节点是否有多个子节点。例如,我可能有两个不同的项目,它们是在查询后收到它们的方式:
第一项:
content:
EMPLOYEE:
ADDITIONALLANGUAGES:
ADDITIONALLANGUAGE:
[0]{LANGUAGE: "Punjabi"}
[1]{LANGUAGE: "Hindi"}
第二项:
if (content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE[0]){
//do stuff
} else {
}
对于我可以参考的第一项: content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE
但这对第二项不起作用。
如果我像这样引用: content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE [0] 我对第一项没有定义。
我正在寻找一种更优雅的方式来检查是否有多种其他语言显示而不是写作:
def line = 'STATIC_ASSERT(VERSION == 888888, "blablabla");'
println line.split('==')[1].split(',')[0].trim()
答案 0 :(得分:0)
您可以连接并将单个对象分配给对象数组,这会将第一个模式转换为第二个模式,并且在数组扩展到新数组时不会影响第二个模式
content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE = [].concat(...[content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE]);
然后您将能够始终如一地使用
content.EMPLOYEE.ADDITIONALLANGUAGES.ADDITIONALLANGUAGE[0 /* N */];