我想使用 Socrata API 检索 consumerfinance.gov 投诉数据库数据。
使用http://www.consumerfinance.gov/complaintdatabase/technical-documentation/#api-documentation网站上的说明可以直接检索数据
我将以下查询与“6yuf-367p”一起使用以获取“预付卡”产品数据,并使用“.json”标签以 JSON 格式获取它:
http://data.consumerfinance.gov/api/views/6yuf-367p/rows.json
我使用 PHP 通过以下查询检索数据:
$url = "http://data.consumerfinance.gov/api/views/6yuf-367p/rows.json";
$json = file_get_contents($url);
$data = json_decode($json);
var_dump($data);
结果解释如下。关于结果的一些事情与我的预期不同。
我没想到“元”部分。列名位于 Meta 部分,与 { key: value } 格式的数据没有直接关联。
我期待 Data 部分具有 { key: value } 格式,而不仅仅是“值”。这与http://dev.socrata.com/docs/formats/json.html的 Socrata 帮助页面上描述的格式不同
我不是高级 javascript 开发人员,所以我想知道如何最好地进行。理想情况下,我只想要 { key: value } 格式的列名的“数据”部分。我希望它以 { key: value } 格式与 Google Charts 之类的东西一起使用。
我正在成像我必须将列名保存在数组中,然后遍历每个数据行并用包含的列名重写数据行以获得 { key: value } 格式。
我的另一个选择是使用超级干净的 csv API 格式,带有漂亮干净的列并且没有 Meta 部分。但是我必须将 csv 转换为 JSON,这似乎没有必要,因为 JSON 可用。
CSV 查询是这样的:
http://data.consumerfinance.gov/api/views/6yuf-367p/rows.csv
所以几个问题:
socrata 是否提供没有“元”部分的 API 提要?有没有可以用来排除“元”部分的过滤器?
如果对#1 的回答是否定的,那么 Socrata 是否已准备好 javascript 来解析 JSON 以获取 { key: value } 格式的“数据”部分,格式与 Socrata 帮助页面上描述的格式类似?
谢谢!
{
"meta" : {
"view" : {
"id" : "6yuf-367p",
"name" : "Prepaid Card Complaints",
"averageRating" : 0,
"createdAt" : 1434039311,
etc etc
"columns" : [ {
"id" : -1,
"name" : "sid",
"dataTypeName" : "meta_data",
"fieldName" : ":sid",
"position" : 0,
"renderTypeName" : "meta_data",
"format" : {
}
}, {
etc etc
"data" : [ [ 208134, "A7A3941C-A764-44CA-ABC0-66DE814F1969", 208134, 1438091214, "924763", 1438091214, "924763", null, "2015-07-13T00:00:00", "Prepaid card", "General purpose card", "Managing, opening, or closing account", null, null, null, "Amex", "WA", "982XX", "Web", "2015-07-19T00:00:00", "Closed with monetary relief", "Yes", null, "1464043" ]
......
]
}