0

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); 

結果を以下に言い換えます。私が期待していたものとは異なる結果についてのいくつかのこと。

  1. 「メタ」セクションは期待していませんでした。列名は、{ key: value } 形式のデータに直接関連付けられていない Meta セクションにあります。

  2. データ セクションには、「値」だけでなく { 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

いくつか質問があります:

  1. socrata は「メタ」セクションのない API フィードを提供しますか? 「メタ」セクションを除外するために使用できるフィルターはありますか?

  2. #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" ]

    ......

    ]
    }
4

1 に答える 1