Есть примеры использования. Предложения и замечания приветствуются.
Доп. инструмент:
Json Mapper viewtopic.php?p=54008
Модератор: Дед Пахом
Код: Выделить всё
parser                          cJSONFactory
    parser.codePage = CP_ACP    !- convert utf8 to ascii (active code page)
    jRoot &= parser.Parse(jsonString)
Код: Выделить всё
curl.SendRequest(url, jParams.ToUtf8(FALSE, CP_ACP))
Код: Выделить всё
postparams.Cat('{{"apiKey": "","modelName": "Address","calledMethod": "searchSettlements","methodProperties": {{"CityName": "'& json::StringToULiterals('київ') &'","Limit": 5}}')
Код: Выделить всё
Parameters  GROUP
companies     STRING(20),DIM(50),NAME('companies')
sapCodes      STRING(20),DIM(50),NAME('sapCodes')
startDate     STRING(20),NAME('startDate')
endDate       STRING(20),NAME('endDate')
            END
params &= json::CreateObject(Parameters, FALSE)
Код: Выделить всё
{"companies":["1", "2", "3", "39", "40", "", "", "", "", ...],"sapCodes":["100345", "100413", "", "", ...],"startDate":"2019-05-13","endDate":"2019-05-13"}вижу 3 варианта:
Где то есть пример?
CreateJSON.clw например.
Код: Выделить всё
json::CreateQueueArray          PROCEDURE(*QUEUE Q)!, *cJSON
i                               LONG, AUTO
n                               &cJSON
p                               &cJSON
a                               &cJSON
  CODE
  a &= json::CreateArray()
  
  LOOP i = 1 TO RECORDS(Q)
    IF NOT a &= NULL
      GET(Q, i)
      IF NOT ERRORCODE() 
        IF ISSTRING(WHAT(Q,1))
          n &= json::CreateString(WHAT(Q,1))
        ELSE
          n &= json::CreateNumber(WHAT(Q,1))
        END
        IF n &= NULL
          a.Delete()
          RETURN NULL
        END
        
        IF i = 1
          a.child &= n
        ELSE
          suffix_object(p, n)
        END
        
        p &= n
      END
    END
  END
  RETURN a