Извлеките файл JSON, используя angularjs

0

У меня есть следующий действующий JSON следующим образом,

{
  "cancelled": false,
  "text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<PrintLetterBarcodeData uid=\"345135084445\" name=\"Venkatasiva M\" gender=\"M\" yob=\"1985\" co=\"S/O Narayana\" vtc=\"Pamidi vari palem\" dist=\"Guntur\" state=\"Andhra Pradesh\" pc=\"522112\"/>",
  "format": "QR_CODE"
}

Как я могу извлечь uid и личные данные (имя, пол и yob) из файла JSON.

Теги:

2 ответа

1
Лучший ответ

Я бы порекомендовал конвертировать текст вашего JSON файла, и это возможно по-разному:

//Your JSON file data...
var returnJSONFile = {
  "cancelled": false,
  "text": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<PrintLetterBarcodeData uid=\"345135084445\" name=\"Venkatasiva M\" gender=\"M\" yob=\"1985\" co=\"S/O Narayana\" vtc=\"Pamidi vari palem\" dist=\"Guntur\" state=\"Andhra Pradesh\" pc=\"522112\"/>",
  "format": "QR_CODE"
};

//Object Initialization...
var x2js = new X2JS();

//Convert XML to JSON...
var xml2Json = JSON.stringify(x2js.xml_str2json(returnJSONFile.text));
alert(xml2Json);

Пожалуйста, проверьте мой JSFIDDLE для большего понимания.

Я выполняю это, используя библиотеку x2js.

Эта библиотека предоставляет XML для JSON (объекты JavaScript) и наоборот для преобразования JavaScript. Библиотека очень маленькая и не требует каких-либо других дополнительных библиотек.

Функции API

  1. новый X2JS() - для создания вашего экземпляра для доступа ко всем функциям библиотеки. Также вы можете указать дополнительные параметры конфигурации здесь
  2. X2JS.xml2json - конвертировать XML, указанный как объект DOM в JSON
  3. X2JS.json2xml - Преобразование JSON в объект XML DOM
  4. X2JS.xml_str2json - преобразовать XML, указанный как строка в JSON
  5. X2JS.json2xml_str - Преобразование строки JSON в XML

Надеюсь, это поможет вам хорошо!

  • 0
    Большое спасибо .. Я работаю нормально ..
0

Есть много способов, но простым способом вы можете получить текст (ваш xml) от json. Затем вы передаете это следующей функции, которая вернет вам json входного XML.

// Changes XML to JSON
function xmlToJson(xml) {

    // Create the return object
    var obj = {};

    if (xml.nodeType == 1) { // element
        // do attributes
        if (xml.attributes.length > 0) {
        obj["@attributes"] = {};
            for (var j = 0; j < xml.attributes.length; j++) {
                var attribute = xml.attributes.item(j);
                obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
            }
        }
    } else if (xml.nodeType == 3) { // text
        obj = xml.nodeValue;
    }

    // do children
    if (xml.hasChildNodes()) {
        for(var i = 0; i < xml.childNodes.length; i++) {
            var item = xml.childNodes.item(i);
            var nodeName = item.nodeName;
            if (typeof(obj[nodeName]) == "undefined") {
                obj[nodeName] = xmlToJson(item);
            } else {
                if (typeof(obj[nodeName].push) == "undefined") {
                    var old = obj[nodeName];
                    obj[nodeName] = [];
                    obj[nodeName].push(old);
                }
                obj[nodeName].push(xmlToJson(item));
            }
        }
    }
    return obj;
};

Функция вернет вам json, чтобы вы могли легко извлечь желаемый узел.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню