выдает ошибку «Превышен максимальный размер стека вызовов» при попытке конвертировать из json в xml - PullRequest
0 голосов
/ 16 февраля 2019

у меня ниже xml

<measureDef><formula><aggFunction type="sum"><expression><field>ADMIT</field><factTable>ADMIT</factTable><aggregation>SUM</aggregation></expression></aggFunction></formula></measureDef>

, и я преобразовал в json как

let dimensionJson = { "measureDef":{                
                        "formula": {
                           "aggFunction": {
                            "_attributes": {
                                "type": "sum"
                            },
                              "expression": {
                                 "field": "ADMIT",
                                 "factTable": "ADMIT",
                                 "aggregation": "SUM"
                              }
                           }
                        }            
                }
}

Теперь, в некоторых случаях, я хочу преобразовать этот Json в xml.Я пытаюсь преобразовать

const xml2JsonOptionsDefault = { compact: true, spaces: 0 };
    console.log('FORMULA ARRAY', convert.js2xml(dimensionJson, xml2JsonOptionsDefault));

Выдает «Превышен максимальный размер стека вызовов». Может кто-нибудь сказать мне, почему это происходит?

1 Ответ

0 голосов
/ 16 февраля 2019

С аналогичная проблема в репо:

... вы, вероятно, пропустили свойство "_text" во входных данных json.Например, {"a": "hi"} не будет выдавать <a>hi</a>.Правильный ввод: {"a":{"_text":"hi"}}.

Это не проверено, но вам может понадобиться включить свойство "_text" для любых свойств в вашем JSON, которые будут иметь значения в XML.

Пример:

let dimensionJson = {
    "measureDef": {
        "formula": {
            "aggFunction": {
                "_attributes": {
                    "type": "sum"
                },
                "expression": {
                    "aggregation": {
                        "_text": "SUM"
                    },
                    "factTable": {
                        "_text": "ADMIT"
                    },
                    "field": {
                        "_text": "ADMIT"
                    }
                }
            }
        }
    }
}
...