0

我在获取数组的大小项时遇到问题。jsonPath "length()" 的函数未在 g1ant 中实现,因为抛出异常 "Array index expected"。以下是用于测试的 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

还有其他与数组长度相关的解决方案吗?

4

1 回答 1

2

无法以您尝试的方式获取 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
于 2019-11-20T13:45:15.717 回答