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

RESTDebugger01

進入Parameters頁籤,在Resource填入songs.json,接著按Add按鈕,填入Name pattern value:伍佰,然後按apply確認

RESTDebugger02

最後按Send request按鈕取得內容即可

RESTDebugger03

下載網址: https://www.embarcadero.com/free-tools/rest-debugger

Delphi 使用superobject分析JSON

ResizedImage600199-RADJson
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]

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;

那如果格式如下
[json]
{“zoo”:”壽山動物園”,”animals”:[{“name”:”猴子”,”years”:”12″},{“name”:”猩猩”,”years”:”5″}]}
[/json]

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;

Delphi XE6 透過台北市Opendata取得旅遊住宿資料

Delphi在XE5開始就提供了REST Client的元件,讓開發REST Client應用的開發者能在最短的時間開發出相關的應用,今天就利用臺北市政府資料開放平台中的臺北市旅館資料庫資料來做一個簡單的範例「台北住宿通」。讓大家瞭解Delphi 如何存取json資料,並顯示。
詳細內文請見
CodeData >> Delphi APP 開發入門(十)REST Client 開發

 

xe6tour10-16

php json_encode亂碼問題

php很簡單的用json_encode就可以回傳json格式了!

不過遇到中文會有亂碼問題,解決方式很簡單在json_encode之前先做urlencode,json_encode之後做urldecode。

範例:

While ($row=mysql_fetch_array($result1)){
  $stores[] = array("NAME" => urlencode($row["STORE_NAME"]),
     	            "TEL" => urlencode($row["STORE_TEL"]))  
}	
echo urldecode(json_encode($stores));