У меня есть уникальная проблема, которую я пытаюсь решить с помощью какого-то сложного кода JavaScript.К вашему сведению, я использую MongoDB, NodeJS, ExpressJS и VueJS в качестве своего технологического стека.
Я пишу приложение, которое выполняет вызовы api моему внешнему партнеру, который возвращает огромный файл данных на основе xml.(К сожалению, они не могут отправлять данные в формате JSON).Получив от них данные, я запускаю их с помощью команды parseString библиотеки xml2js.Но то, как он отправляет код обратно, действительно странно.Со стороны это выглядит хорошо, это массив объектов: [{object1}, {object2}, .... {objectN}].но когда вы смотрите на отдельные объекты, они странно форматируют данные:
object1 = {
key1: [ 'string' ],
key2: [ '01234657' ],
key3: [ 'email@email.com' ],
key4: [{
key5: [ '8372655573' ],
key6: [ '25.00' ],
key7: [ 'description of item purchased' ]
}],
key8: [ 'otherData' ],
// .......and so on until
NthKey: [ 'dataType' ]
}
Я ожидал, что большая часть данных, которые я собирался получить, будет состоять из одного ключадля отдельных пар значений данных, с несколькими исключениями.Но для каждого отдельного ключа возвращаемого объекта из parseString они присваивают значение массиву в виде строки, несмотря ни на что.И для случаев, когда в ключ вводится куча разных типов данных (например, с помощью key4 в приведенном выше примере), мне приходится копаться не только в массиве, но и во вложенном объекте внутри этого массива, и вотдельные ключи, которые связаны с моими данными ..... Я нахожу это действительно странным и трудным для работы, потому что теперь мне нужно создать несколько циклов, которые проходят и создают в основном точную копию объекта 1, за исключением того, что он выглядиткак это:
object1CarbonCopy = {
key1: String,
key2: Number,
key3: email,
key4: {
key5: Number,
key6: Number,
key7: String
},
key8: String
// and so on until........
NthKey: 'dataType'
}
Есть ли у кого-нибудь из вас советы по коду, который может это сделать?или, если есть настройки / опции, которые я могу передать в xml2js, чтобы изменить способ вывода данных?Любой совет будет очень признателен.