我从disqus.com API获得以下结构返回,我只是不知道如何使用Coldfusion仅以红色检索以下"id"值.

这是返回的完整数组.
{
"cursor":{
"prev":null,
"hasNext":false,
"next":"1213061503000000:1:0",
"hasPrev":false,
"total":null,
"id":"1213061503000000:1:0",
"more":false
},
"code":0,
"response":[
{
"category":"1",
"reactions":0,
"identifiers":[],
"forum":"bobross",
"title":"Donkeys live a long time",
"dislikes":0,
"isDeleted":false,
"author":"1",
"userScore":0,
"id":"2",
"isClosed":false,
"posts":0,
"link":null,
"likes":0,
"message":"\"Donkeys live a long time. None of you have ever seen a dead donkey.\"",
"ipAddress":"127.0.0.1",
"slug":"donkeys_live_a_long_time",
"createdAt":"2008-06-10T02:31:43"
},
{
"category":"1",
"reactions":0,
"identifiers":[
"my-identifier"
],
"forum":"bobross",
"title":"Happy Accidents",
"dislikes":0,
"isDeleted":false,
"author":"1",
"userScore":0,
"id":"1",
"isClosed":false,
"posts":76,
"link":null,
"likes":0,
"message":"\"If you've painted before you know that we don't make mistakes -- we have happy accidents.\"",
"ipAddress":"127.0.0.1",
"slug":"happy_accidents",
"createdAt":"2008-06-10T01:31:43"
}
]
}
Run Code Online (Sandbox Code Playgroud)
嗯:首先,这是一个JSON数据包而不是数组,因此您需要通过反序列化将其转换为CFML数据结构,例如:
data = deserializeJson(jsonPacket);
Run Code Online (Sandbox Code Playgroud)
然后你将拥有一个本机CFML结构(不是数组......数组是结构中的值之一).
从那里,您将使用结构/数组表示法或结构函数/等以通常使用CFML结构的方式访问任何给定元素.
要直接解决您指出的项目,它将是(鉴于上面的代码已经先运行):
data.response[1].id
Run Code Online (Sandbox Code Playgroud)
但是我怀疑你真的不想只解决这个问题?但是如果没有更多关于你要做什么的细节,除了你想要的东西之外,很难回答.
如果你想获得所有的ID,可以这样做:
ids = [];
for (singleResponse in data.response){
arrayAppend(ids, singleResponse.id);
}
Run Code Online (Sandbox Code Playgroud)
或者在ColdFusion 10上,有更多关于如何迭代数组的选项.
再说一遍:澄清你想要做什么,我们可以帮助你做到这一点.
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |