具有范围属性的 OpenEdge JSON

问题描述 投票:0回答:1

我在读取具有范围[6]数据属性的 JSON 时遇到问题。
这是 JSON:

{  
    "SalesRep": [  
        {  
            "SalesRep": "BBB",  
            "RepName": "Brawn , Bubba B.",  
            "Region": "East",  
            "MonthQuota": [  
                1600,1648,1697,1748,1800,1854  
            ]  
        }  
    ]  
}

我想读取第二个数值(extent[2]=1648)。

这是我的PGM:

myParser    = NEW ObjectModelParser( ).  
myConstruct = myParser:ParseFile("JsonRaro.json").  
myJsonObj2 = CAST(myJsonObj1:GetJsonArray("ttSalesRep"):GetJsonObject(1),JsonObject).  
MESSAGE  
    "2 " STRING( myJsonObj2:GetJsonText("RepName") ) SKIP /*result="2 Brawn , Bubba B."*/  
    "3 " STRING( myJsonObj2:GetJsonText("MonthQuota") ) SKIP /*result="
                                                          [1600,1648,1697,1748,1800,1854]"*/  
    "3a " STRING( myJsonObj2:GetJsonArray("MonthQuota"):GetJsonArray(2,1) ) SKIP /*ERROR*/  
VIEW-AS ALERT-BOX.

Message result

json object openedge progress-4gl extent
1个回答
1
投票

你只需要从数组中获取项目,而不是另一个数组。

所以这个

 "3a " STRING( myJsonObj2:GetJsonArray("MonthQuota"):GetJsonArray(2,1) )

应该是

 "3a " STRING( myJsonObj2:GetJsonArray("MonthQuota"):GetInteger(2) )
© www.soinside.com 2019 - 2024. All rights reserved.