使用$ .xml2Json返回一个复杂的对象

时间:2013-02-05 22:37:39

标签: javascript jquery json jquery-plugins xml-parsing

我有这段代码:

$.ajax({
    type: "GET",
    url: trgUrl,
    success: function (data)
    {
        var xml= $.parseXML(data);
                               {
        var obj= $.xml2json(xml);

        //....
    }
 });

data可以是:

 "<name> Mike </name>"

现在,问题是在使用$.xml2json(xml)之后,为了显示我需要写的名字:

 alert(obj.name.value); // Mike

而不只是:

 alert(obj.name);    // object object

换句话说:$.xml2json<name>的内容转换为另一个对象(而不是将其作为直接字符串)

我该如何解决这个问题?有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:2)

修改插件如下:

// Add element value
if(node.childElementCount == 0 && node.textContent != null && node.textContent != "") {
         /* comment out ".value" */
         result[node.nodeName]/*.value */= node.textContent.trim();
}

DEMO:http://jsfiddle.net/ycN37/

如果节点有子节点,这可能会产生问题,这可能是作者在第一时间创建对象的原因