Ошибка при запуске шаблона. Ожидается хеш, но в результате получается строка (обертка: f.t.SimpleScalar): - PullRequest
0 голосов
/ 02 мая 2018

При попытке чтения хеша с помощью Freemarker, он считывает строковую переменную с тем же именем, что и у хеша до этого, даже если строковая переменная существует на другом подуровне.

Файл JSON имеет формат ниже.

"Record": {
    "@id": "Vehicle#1234#",
    "Color": {
        "@id": "MasterCode#5678#",
        "Code": "RED",
        "CodeClass": "",
        "CreatedBy": "system",
        "CreatedOn": "2015-09-10T00:00:00.0",
        "CustomFields": {            
        },
        "DisplayOrder": "999",
        "Name": "RED",
        "NibrsType": "",
        "Recnum": "5678",
        "Type": "XXXX"
    },
    "Type": {
        "@id": "MasterCode#9012#",
        "Code": "MPVH",
        "CodeClass": "",
        "CreatedBy": "system",
        "CreatedOn": "2015-09-10T00:00:00.0",
        "CustomFields": {
                    },
        "DisplayOrder": "999",
        "Name": "SUV TYPE VEHICLE",
        "NibrsType": "",
        "Recnum": "9012",
        "Type": "YYYY"
    }
}

когда я пытался прочитать payload.Record.Type хэш, freemarker считывает строку в payload.Record.Color.Type и выдает следующую ошибку.

Ошибка при запуске шаблона. Ожидается хэш, но его значение оценивается как строка (обертка: f.t.SimpleScalar):

Ищу несколько предложений, чтобы избавиться от этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...