问题描述
我有一个整数的 JsonArray 示例 - [1000,1001,1002,.....,1100]。
我需要遍历这个JsonArray,这样我才能一一调用我的函数。
我试过了
function Amen returns JsonObject (input code as JsonArray,input lang as char):
def var Amenities as JsonObject.
Amenities = new JsonObject().
Amenities:Add("Code",code).
for first inditaal where string(inditaal.indi-nr) = string(code) and inditaal.taal-code = lang no-lock.
end.
Amenities:Add("Description",inditaal.inditaal-oms).
return Amenities.
end function.
define variable code as JsonArray no-undo init [10400,10239,10205].
def var result as JsonArray.
result = new JsonArray().
def var lineObj as JsonArray.
do i = 1 to code :length:
lineObj = new JsonArray().
lineObj = code :GetJsonArray(i).
result:Add(Amen(lineObj)).
end.
我无法从 JsonArray 代码中获取整数。 还有其他方法吗?
由于我是这种语言的新手,我无法这样做,而且我在文档中也没有找到任何内容。 请帮忙!
解决方法
要将整数范围(ABL 数组)添加到 JsonArray,请使用 Add 方法。
要遍历 JsonArray,请迭代到 JsonArray 的 Length 并使用 GetInteger(i) 检索单个值。
USING Progress.Json.ObjectModel.* FROM PROPATH .
define variable code as INTEGER EXTENT no-undo init [10400,10239,10205].
DEFINE VARIABLE oJsonArray AS JsonArray NO-UNDO .
DEFINE VARIABLE i AS INTEGER NO-UNDO.
oJsonArray = NEW JsonArray () .
oJsonArray:ADD (code) .
do i = 1 to oJsonArray:length:
message oJsonArray:GetInteger (i) .
end.