2016-01-08 22 views
0

提取JSON文件我有以下的有效的JSON通過以下方式,使用angularjs

{ 
    "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和從JSON文件中的個人信息(姓名,性別和yob)。

+0

這個答案我相信會解決你的問題。 http://stackoverflow.com/questions/9611450/how-to-get-value-from-xml-string-with-node-js – httpNick

回答

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 library來完成此操作。

此庫提供XML到JSON(JavaScript對象),反之亦然JavaScript轉換函數。該庫非常小,不需要任何其他庫。

API函數

  1. 新X2JS() - 創建您的實例訪問所有的庫 功能。你也可以在這裏指定可選的配置選項
  2. X2JS.xml2json - 轉換指定爲DOM對象XML到JSON
  3. X2JS.json2xml - 轉換JSON爲XML DOM對象
  4. X2JS.xml_str2json - 轉換指定爲字符串JSON XML
  5. X2JS.json2xml_str - 轉換JSON到XML字符串

希望這有助於你順利!

+0

非常感謝..我工作很好.. – vishnu

0

有很多方法,但以一種簡單的方式,你可以從json獲取文本(你的xml)。然後你將它傳遞給下面的函數,它將返回輸入XML的json。

// 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,以便您可以輕鬆地提取所需的節點。