iPhone平台上的json framework

2021-06-03 20:36:32 字數 1414 閱讀 9221

當我們在開發iphone應用程式時,必然會對cocoa touch的平台功能感到不足,在接下來的幾篇文章中,筆者將介紹一些在cocoa上熱門的第三方函式庫,還請多多指教!

在所有的第三方函式庫中,最有名且被廣泛使用的不外乎便是json-framework了,就連iphone os本身也有用到這個函式庫。json是目前網路服務api中很常見的資料格式,幾乎所有的api都是使用json格式,因此當我們需要開發網路服務相關的軟體時,便會需要這個函式庫。

而顧名思義,這個函式庫便是提供開發者可以透過objective-c方便的建立json字串或是解碼json字串,讀者可以在專案的網站上下載。

在下載完json-framework並且裝載後便會看到許多資料夾,而其中的json資料夾便是我們所需要的檔案。就如同加入其他檔案到專案中一般,只需要將這個資料夾拖放到xcode的視窗畫面中,便可以完成安裝。

而在那些需要使用json-framework功能的程式中,只需要在程式碼開頭加入:

#import "json.h"
這樣就算完成所有的設定工作了,很簡單吧!

以facebook的open graph protocol為例,首先我們必須先取得json字串:

nsurl *url = [nsurl urlwithstring:@""];

nsstring *jsonstring = [nsstring stringwithcontentsofurl:url encoding:nsutf8stringencoding error:nil];

再來便是呼叫json-framework所提供的方法來解析字串,將解析的結果儲存在nsdictionary中:

nsdictionary *items = [jsonstring jsonvalue];
最後便可以透過透過nslog來確認解析的結果、或是透過objectforkey等方法來取得json中的值:

nslog(@"parsed json : %@", [items description]);
至於要將nsdictionary轉成json字串也相當容易,只要呼叫:

nsstring *jsonstring = [items jsonfragment];
這樣就可以順利建立出json字串了。

以上的例子是使用nsdictionary作為解碼、編碼的主要物件,但是實際上jsonvalue的回傳值以及jsonfragment的呼叫物件也可能會nsarray、nsnumber、nsstring或是nsnull,就看所需的資料格式而定。

此外,若是讀者在呼叫jsonvalue或其他方法出現錯誤時,根據官方faq的說法,這有可能是iphone os 3.0的bug。為了解決這個問題,讀者可以試著在專案的build的設定中對linker加入-all_load選項,這樣一來就可以執行無誤。

json-framework project home

WinCE平台上的DMA

ceddk提供了dma的相關函式,在ceddk ddk dma ddk dma.c中定義。最有用的就兩個函式,halallocatecommonbuffer 和halfreecommonbuffer 分別用於為dma申請和釋放記憶體。1 首先介紹一下會用到的dma介面卡結構,在ceddk.h中定義,...

Windows 平台上的 InnoDB

出錯詳解 e lamp mysql bin mysqld max nt standalone console innodb error you must set the log group home dir in my.cnf the innodb same as log arch dir.0204...

Windows 平台上優雅的Markdown編輯器

windows 平台上的本地 markdown 編輯器及相應應用的介紹 markdown 是一種輕量級標記語言 允許人們 使用易讀易寫的純文字格式編寫文件,然後轉換成有效的xhtml 或者 html 文件 由於markdown的輕量化 易讀易寫特性,並且對於,圖表 數學式都有支援,目前許多 都廣泛使...