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);
結果を以下に言い換えます。私が期待していたものとは異なる結果についてのいくつかのこと。
「メタ」セクションは期待していませんでした。列名は、{ key: value } 形式のデータに直接関連付けられていない Meta セクションにあります。
データ セクションには、「値」だけでなく { key: value } 形式が含まれていると予想していました。これは、 http: //dev.socrata.com/docs/formats/json.html の Socrata ヘルプ ページで説明されている形式とは異なり ます。
私は高度な JavaScript 開発者ではないので、どのように進めるのが最善なのか疑問に思っています。理想的には、列名が { key: value } 形式の「Data」セクションのみが必要です。Google チャートなどで使用する { key: value } 形式にしたかったのです。
列名を配列に保存してから、各データ行をループし、列名を含むデータ行を書き換えて { key: value } 形式を取得する必要があることを想像しています。
私の他のオプションは、素晴らしくきれいな列とメタセクションのない非常にきれいな csv API 形式を使用することです。しかし、JSONが利用可能であるため、csvをJSONに変換する必要はありません。
CSV クエリは次のとおりです。
http://data.consumerfinance.gov/api/views/6yuf-367p/rows.csv
いくつか質問があります:
socrata は「メタ」セクションのない API フィードを提供しますか? 「メタ」セクションを除外するために使用できるフィルターはありますか?
#1 の答えが「いいえ」の場合、Socrata には、JSON を解析して { key: value } 形式の「Data」セクションを Socrata のヘルプ ページで説明されているのと同様の形式で取得するための JavaScript が用意されていますか?
ありがとう!
{
"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" ]
......
]
}