NB Jogger's blog

NBが好きなのです

【Delphi】 superobjectでJSONをパース

2011-04-05 00:16:49 | プログラム
DelphiでJSONを扱うライブラリはたくさんありますが、今回はその中でもsuperobjectを使います。
選定理由は、TwitterのJSONをパースした例がすぐ見つかって、簡単にできそうだったから・・・それ以外は特にないです。
事前に http://code.google.com/p/superobject/ から圧縮ファイルを取得しておいてください。

JSONのテキストファイルを用意します。

sample.json
[
    {
        "id":1,
        "name":"武藤カズキ"
    },
    {
        "id":2,
        "name":"津村斗貴子"
    },
    {
        "id":3,
        "name":"蝶野攻爵"
    }
]

上記のファイルをパースします。

program json_sample;

{$APPTYPE CONSOLE}

uses
    Classes, SysUtils, superobject;

var
    SL: TStringList;
    str: String;
    obj, elem: ISuperObject;
    i, leng: Integer;
begin
    SL := TStringList.Create;

    try
        SL.LoadFromFile('sample.json');
        str := Utf8ToAnsi(SL.Text); //UTF-8の場合はAnsi文字列に変換

        obj := SO(str);
        leng := obj.AsArray.Length;

        for i := 0 to leng - 1 do
        begin
            elem := obj.AsArray[i];
            WriteLn(Format('id=%d, name=%s',
                [elem.AsObject.I['id'], elem.AsObject.S['name']]));
        end;
    finally
        SL.Free;
    end;

    Readln;

end.

詳細はzipに同梱されているreadme.htmlに書いてあります。

1 コメント

コメント日が  古い順  |   新しい順
Unknown (iris)
2018-07-21 22:30:19
https://jsonformatter.org/json-parserはJSONデータの処理に役立ちます。それは、JSON文字列データの検証とツリー表示に役立ちます

コメントを投稿