这是我在JSON中放入的查询,然后在表中存储信息。当我检查表中的结果时,我看到输出不能给我我真正想要的东西。我的想法是在每个开始和结束日期之间获取所有日期。我的代码给了我结束日期。这是我的代码:
//Here is my query
<cfquery name="myQuery" datasource="test">
Select UserID, UserEmail, PickDateTime, DropDateTime
From UserInfo
Order by PickDateTime
</cfquery>
//This is my JSON
<script>
myJSON = {
<cfoutput query="myQuery">
<cfloop from="#PickDateTime#" to="#DropDateTime#" index="i" step="#CreateTimeSpan(1,0,0,0)#">
"#currentrow#":{"ID":"#UserID#","date":"#dateformat(i,'mmddyyyy')#","email":"#UserEmail#"},
</cfloop>
</cfoutput>
}
//Here is my function that creates the table
function getData(){
myVar="<table><tr><td>ID</td><td>Date</td><td>Email</td></tr><tbody>"
for(key in myJSON){
myVar+=
"<tr>"+
"<td>"+myJSON[key].ID+"</td>"+
"<td>"+myJSON[key].date+"</td>"+
"<td>"+myJSON[key].email+"</td>"+
"</tr>"
}
myVar+="</tbody></table>"
document.getElementById('myTable').innerHTML = myVar
}
</script>
这是我的HTML:
<div id='myTable'></div>
这是我的当前输出表:
ID Date Email
1 01092016 example@gmail.com
2 01112016 example@gmail.com
3 01132016 example@gmail.com
3 01162016 example@gmail.com
4 01182016 example@gmail.com
5 01192016 example@gmail.com
正如你在我的输出中所看到的,我只是得到了结束日期,但我没有在两者之间得到日期。我应该从开始到结束日期获取所有日期。如果我的开始日期是2015年1月20日,而我的结束日期是2015年1月24日,我希望介于两者之间。我不确定我的JSON是否正确创建或者我的cfloop中出了什么问题。如果有人可以帮助解决这个问题,请告诉我。
答案 0 :(得分:3)
将ColdFusion数据转换为JSON的最简单方法是使用SerializeJSON()
函数。
自ColdFusion 8以来支持。See SerializeJSON
答案 1 :(得分:0)
请尝试此
SerializeJSON:将ColdFusion数据转换为数据的JSON(JavaScript Object Notation)表示形式。返回包含参数值的JSON表示的字符串。
但如果您使用 ColdFusion 10: SerializeJSON may results in invalid json 。
return loadedBillSites.Except(storedSites.Select(x=>x.SiteNumber)).Any();
要避免这种情况并使其在任何ColdFusion版本中运行,您可以执行此操作:
<cfscript>
// Create an input string that has two different uses of the "u" character.
input = "Hello \u1111 u+2222 world";
// Output the original value.
writeOutput( input & "<br />" );
// Output the serialized value produced by serializeJson().
// CAUTION: The "u+" string will be accidentally replaced with "\u".
writeOutput( serializeJson( input ) );
</cfscript>