我在获取数组的大小项时遇到问题。g1ant中未实现jsonPath"length(("的函数,因为引发异常"预期数组索引"。下面是g1ant脚本中的测试示例。
addon core version 4.103.0.0
addon language version 4.104.0.0
♥jsonImage = ⟦json⟧‴{ "book" : [ { "name" : "Bambi"} , { "name" : "Cinderella" } ] }‴
♥aaa = ♥jsonImage⟦$.book.length()⟧
dialog ♥aaa
是否有其他与数组长度相关的解决方案?
不可能像您尝试的那样获得json数组元素的数量。G1ANT使用Newtonsoft.Json库来选择Json标记,因为它们不允许像.length()
这样的表达式,正如您可以在这里阅读的那样。
以下是解决此问题的方法。
♥jsonImage = ⟦json⟧‴{ "book" : [ { "name" : "Bambi"} , { "name" : "Cinderella" } ] }‴
♥jsonArrLength = 0
♥hasExceptionOccurred = false
while ⊂!♥hasExceptionOccurred⊃
try errorcall NoMoreElements
♥test = ♥jsonImage⟦book[♥jsonArrLength]⟧
♥jsonArrLength = ♥jsonArrLength + 1
end try
end while
dialog ♥jsonArrLength
procedure NoMoreElements
♥hasExceptionOccurred = true
end procedure