1

背景信息:我正在使用 node.js,这是一个服务器端脚本。

话虽这么说,这就是问题所在。我有一个 JSON 对象result,使用eyes.inspect()时看起来像

{
user: [
    {
        foods: {
            food: [
                {
                    #: 'McDonalds',
                    @: { type: 'string' }
                },
                {
                    #: 'Seafood Topped Salmon',
                    @: { type: 'string' }
                }
            ]
        },
        email: '****@******.edu',
        name: 'Leo'
    },
    {
        email: '****@******.edu',
        food-list: {
            food: [
                {
                    #: 'KFC',
                    @: { type: 'string' }
                },
                {
                    #: 'KGC',
                    @: { type: 'string' }
                }
            ]
        },
        name: 'Eric'
    }
]
}  

调用console.log(result.user[0].foods.food[1])时,输出为{ '#': 'Seafood Topped Salmon', '@': { type: 'string' } }

那么有没有办法像Seafood Topped Salmon去掉 type 属性一样获取和设置节点的文本内容?

更多信息:JSON 实际上是从 XML 文档中解析出来的。在原始 xml 文件中,食物节点看起来像<food type="string">McDonalds</food>. 我必须保留该type="string"属性,在完成 JSON 对象的编辑后,我会将其解析回 xml。

4

1 回答 1

0

您可以直接访问该嵌入对象的文本以获取并将其设置为:

result.user[0].foods.food[1]['#']
于 2012-09-02T22:52:48.470 回答