1

我一直在努力在我正在从事的项目中实现 json2html,但遇到了一个小问题。基本上,我的转换运行,但它不包括应有的 JSON 对象。

我设置了一些东西,以便对 MongoDB 进行调用,并将 JSON 数据作为字符串返回。我将该字符串传递给“var data”,然后用我的转换代码将其传递给 json2html.transform(data,transform)。

这是我的转换代码示例:

变换=[

{"tag":"html","children":[
    {"tag":"body","children":[
                     {"tag":"p","html":"First Name: ${firstName}"},
         {"tag":"p","html":"Last Name: ${lastName}"},
            ]}
    ]}

];

...以及来自 MongoDB 的相应 JSON 数据...

{ biographicData:{ firstName:'John',lastName:'Doe',birthDate:'10/15/1983',电子邮件:'johndoe@gmail.com',workPhone:'678-901-2345',mobilePhone:'098 -765-4321',家庭电话:'123-456-7890' } }

...但我的 HTML 看起来像这样:

名:

姓:

JSON 对象无处可寻。知道这里可能是什么问题吗?

4

1 回答 1

0

汤姆说得对.. ${biographicData.whatever} 应该已经解决了这个问题。试试这个可以工作的代码spinet

var data = { biographicData: { firstName: 'John', lastName: 'Doe', birthDate: '10/15/1983', email: 'johndoe@gmail.com', workPhone: '678-901-2345', mobilePhone: '098-765-4321', homePhone: '123-456-7890' } };

var transform = {"tag":"html","children":[
    {"tag":"body","children":[
                     {"tag":"p","html":"First Name: ${biographicData.firstName}"},
         {"tag":"p","html":"Last Name: ${biographicData.lastName}"},
            ]}
    ]};

document.write(json2html.transform(data,transform));

但是,我建议您从转换中删除 html 和 body 标记,而是将其包含在它自己的 html 文件中。这样你就可以像这样传递一组值

var data = [{ biographicData: { firstName: 'John', lastName: 'Doe', birthDate: '10/15/1983', email: 'johndoe@gmail.com', workPhone: '678-901-2345', mobilePhone: '098-765-4321', homePhone: '123-456-7890' } }];

    var transform = [
             {"tag":"p","html":"First Name: ${biographicData.firstName}"},
             {"tag":"p","html":"Last Name: ${biographicData.lastName}"},   
     ];

    document.write(json2html.transform(data,transform));

否则,您最终会在生成的 html 中使用多个 html 和 head 标签

于 2013-11-05T18:04:17.937 回答