AX中Json转化成表记录

static void JsonToTable(str _json,Common _Common)
{
    sysdictTable        dictTable;
    TableId             tableId;
    dictfield           dictField, tmpdictField;
    int                 fieldsNum, i, fieldId, j, tmpdictFieldid;
    Map                 postsData;
    Map                 lineineMap;
    List                line;
    ListEnumerator      lineE;
    ;
    postsData = RetailCommonWebAPI::getMapFromJsonString(_json);
    tableId = _Common.TableId ;
    dictTable = new sysDictTable(tableId);
    fieldsNum = dictTable.columnCnt();
    fieldsNum = dictTable.fieldCntWithoutSys();
    line = List::create(postsData.lookup(tableId2name(tableId)));
    lineE = line.getEnumerator();
    while(lineE.moveNext())
    {
        lineineMap = Map::create(lineE.current());
        for(i=1;i<=fieldsNum;i++)
        {
            fieldId  = dictTable.fieldCnt2Id(i);
            dictField = new dictField(tableId,fieldId);
            for (j=1; j<=dictField.arraySize(); j++)
            {
                tmpdictFieldid = fieldId2Ext(fieldId, j);
                tmpdictField = new dictField(tableId,tmpdictFieldid);
                if (lineineMap.exists(tmpdictField.name()))
                {
                    _common.(tmpdictField.id()) = conPeek(lineineMap.lookup(tmpdictField.name()), 1);
                }
            }
        }
        _common.insert();   
    }
}
原文地址:https://www.cnblogs.com/alfred-cn/p/12455703.html