畫面上記得放上一個TFDStanStorageJSONLink
// 存JSON
Self.FDQuery1.SaveToFile('d:\Data.json', sfJSON);
// 讀回JSON
Self.FDQuery1.LoadFromFile('d:\Data.json', sfJSON);
標籤: json
Embarcadero免費REST除錯工具REST Debugger
REST Debugger這個工具是Embarcadero公司免費釋放給開發REST相關服務的工程師做為測試、除錯用的工具。例如我們想從Sonsterr這個網站取得吉他譜~
一、從Songsterr的API網址
https://www.songsterr.com/a/wa/api
從裡面知道http://www.songsterr.com/a/ra/ 後面帶songs.json即可
二、開啟REST Debugger
將http://www.songsterr.com/a/ra 填入url
進入Parameters頁籤,在Resource填入songs.json,接著按Add按鈕,填入Name pattern value:伍佰,然後按apply確認
最後按Send request按鈕取得內容即可
Learn how to Quickly Build and Deploy a complete REST/JSON based Enterprise Business Application – YouTube
Delphi XE3 下載JSON格式解析
DELPHI利用SUPEROBJECT以及INDY元件下載JSON格式做解析。
原始碼 https://github.com/superlevin/XE3JsonParser
程式下載 https://www.dropbox.com/s/bytp9vsxzht59fd/JSONParser.zip?dl=0
Delphi 使用superobject分析JSON
http://superobject.googlecode.com
https://github.com/hgourvest/superobject
Delphi從2009才開始支援JSON格式,先前的版本需使用第三方函式庫才能解決。這邊提供不錯的SuperObject給大家。
使用方式很簡單,例如從台北市政府資料開放平台取得臺北市公廁點位資訊
[json]
[{“unit”:”台北市政府環境保護局”,”title”:”公廁坐落:士林官邸”,”dep_content”:”座數:8,特優級:2,優等級:6,普通級:0,加強級:0,無障礙設施”,”address”:”臺北市士林區福林路60號”,”lng”:”121.530152″,”lat”:”25.094898″,”modifydate”:”2013-03-25T17:58:20+08:00″},{“unit”:”台北市政府環境保護局”,”title”:”公廁坐落:天母公園”,”dep_content”:”座數
:1,特優級:0,優等級:1,普通級:0,加強級:0″,”address”:”臺北市士林區中山北路七段219號邊”,”lng”:”121.530071″,”lat”:”25.125855″,”modifydate”:”2015-08-06T00:00:00+08:00″}]
[/json]
[pascal]
uses superobject, supertypes, superxmlparser;
var vjson: Isuperobject;
vitem:Tsuperarray;
i,j:integer;
s:string;
begin
vjson:= so(‘[{"unit":"台北市政府環境保護局","address":"臺北市士林區福林路60號"},{"unit":"台北市政府環境保護局","address":"臺北市士林區中山北路七段219號邊"}]’);
vitem:=vjson.AsArray;
for i:=0 to vitem.Length-1 do begin
memo2.Lines.Add(vitem[i][‘unit’].AsString+’ ‘+vitem[i][‘address’].AsString);
end;
end;
[/pascal]
那如果格式如下
[json]
{“zoo”:”壽山動物園”,”animals”:[{“name”:”猴子”,”years”:”12″},{“name”:”猩猩”,”years”:”5″}]}
[/json]
[pascal]
var vjson: Isuperobject;
vitem:Tsuperarray;
i:integer;
begin
vjson:= so(‘{"zoo":"壽山動物園","animals":[{"name":"猴子","years":"12"},{"name":"猩猩","years":"5"}]}’);
memo2.lines.add(vjson[‘zoo’].asstring);
vitem:= vjson[‘animals’].AsArray;
for i:=0 to vitem.Length -1 do begin
memo1.Lines.Add(vitem[i][‘name’].AsString+’ ‘+vitem[i][‘years’].AsString );
end;
[/pascal]
Delphi XE6 透過台北市Opendata取得旅遊住宿資料
Delphi在XE5開始就提供了REST Client的元件,讓開發REST Client應用的開發者能在最短的時間開發出相關的應用,今天就利用臺北市政府資料開放平台中的臺北市旅館資料庫資料來做一個簡單的範例「台北住宿通」。讓大家瞭解Delphi 如何存取json資料,並顯示。
詳細內文請見
CodeData >> Delphi APP 開發入門(十)REST Client 開發
php json_encode亂碼問題
php很簡單的用json_encode就可以回傳json格式了!
不過遇到中文會有亂碼問題,解決方式很簡單在json_encode之前先做urlencode,json_encode之後做urldecode。
範例:
[php]
While ($row=mysql_fetch_array($result1)){
$stores[] = array("NAME" => urlencode($row["STORE_NAME"]),
"TEL" => urlencode($row["STORE_TEL"]))
}
echo urldecode(json_encode($stores));
[/php]