我过去使用过JSON数据- 主要是“迷惑”我的解决方案,而不是真正了解为什么或如何工作。我遇到了一个问题,即返回的数据看起来与我之前看到的有所不同,并且找不到与之匹配的示例。
这是通过API返回的数据的示例;
{"domain.co.uk":{"status":"available","classkey":"thirdleveldotuk"},"domain.net":{"status":"available","classkey":"dotnet"},"domain.com":{"status":"available","classkey":"domcno"}}
在前端,我需要返回这样的内容-
由于“ domain.com”等值将始终更改,因此我无法像平常那样映射名称(尽管将始终返回3个“行”)
我已经检查了我拥有的每本CF书,并阅读了在线CF文档,但是对于从何处着手,我完全是一头雾水!
指针非常感谢!
如果使用deserializeJSON(data)运行它,您将看到最终只是带有嵌套结构的结构。因此,您可以遍历您的结构,获取键,然后获取该键的状态。用JSON术语,您的JSON对象具有嵌套对象。
<cfset data = deserializeJSON(apiData) /> <cfset formattedData = [] /> <cfset tmp = {} /> <cfloop collection=#data# item="domain"> <cfset tmp.domain = domain /> <cfset tmp.status = data[domain]["status"] /> <cfset arrayAppend(formattedData,duplicate(tmp)) /> </cfloop> <cfdump var=#formattedData# />