使用json2html,但可以';看不到JSON对象
我一直在一个项目中实现json2html,我遇到了一个小问题。基本上,我的转换是运行的,但它没有像应该的那样包含JSON对象 我已经设置好了对MongoDB的调用,JSON数据作为字符串返回。我将该字符串传递到“var data”中,然后用转换代码将其传递到json2html.transform(data,transform)中 以下是我的转换代码示例: 转化=[使用json2html,但可以';看不到JSON对象,json,mongodb,Json,Mongodb,我一直在一个项目中实现json2html,我遇到了一个小问题。基本上,我的转换是运行的,但它没有像应该的那样包含JSON对象 我已经设置好了对MongoDB的调用,JSON数据作为字符串返回。我将该字符串传递到“var data”中,然后用转换代码将其传递到json2html.transform(data,transform)中 以下是我的转换代码示例: 转化=[ {"tag":"html","children":[ {"tag":"body","children":[
{"tag":"html","children":[
{"tag":"body","children":[
{"tag":"p","html":"First Name: ${firstName}"},
{"tag":"p","html":"Last Name: ${lastName}"},
]}
]}
])
…以及来自MongoDB的相应JSON数据
{个人资料:
{名字:“约翰”,
姓氏:“Doe”,
生日:“1983年10月15日”,
电邮:'johndoe@gmail.com',
工作电话:“678-901-2345”,
手机:“098-765-4321”,
家庭电话:'123-456-7890'}
}
…但我的HTML显示如下:
名字:
姓氏:
到处都找不到JSON对象。你知道这里可能有什么问题吗?汤姆说得对${传记资料,随便什么}本该解决这个问题的。请尝试此代码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标记try${biographic data.firstName}我已经做了您建议的更改,但不幸的是,我仍然没有看到JSON对象。只有html标记和其中的纯文本。传入嵌入对象?嘿,查德。我尝试将代码调整到第二个块中的代码,但我仍然看到相同的问题。所有HTML标记和纯文本都正确呈现,但没有JSON对象。我已经纠正了上面您和Tom指出的命名问题,现在它读取${biographic data.whatever}。很明显,转换正在工作,我知道我正在返回JSON数据,因为我可以在控制台中打印出来,而且看起来是正确的。但是这两种方法似乎不能很好地协同工作。。结果发现,我的JSON数据如何被传递到json2html.transform中只是一个问题。当我的JSON数据从MongoDB返回时,它将进入“数据”,但为了让它在转换中正常工作,我必须将其设置为json2html.transform(JSON.stringify(data),transform)。但是,您和Tom在上面提出的更正数据命名的建议也是非常重要的,因此,谢谢你们。