在iOS中的UITextView或UIWebView中显示JSON(格式良好)的最佳方法

我需要在我的iPhone应用程序中显示SJON.目前我正在获取未格式化的 JSON – 就像一个没有缩进的大字符串.

显示这个的最佳方式是什么?

谢谢,

解决方法

获取格式化的JSON字符串.

解决方案是从JSON字符串创建JSON对象,

然后使用.PrettyPrinted选项将JSON对象转换回JSON String.

代码

let jsonString = "[{\"person\": {\"name\":\"Dani\",\"age\":\"24\"}},{\"person\": {\"name\":\"ray\",\"age\":\"70\"}}]"

var error: NSError?

//1. convert string to NSData
let jsonData = jsonString.dataUsingEncoding(NSUTF8StringEncoding)!

//2. convert JSON data to JSON object
let jsonObject:AnyObject = NSJSONSerialization.JSONObjectWithData(jsonData,options: nil,error: &error)!

//3. convert back to JSON data by setting .PrettyPrinted option
let prettyJsonData = NSJSONSerialization.dataWithJSONObject(jsonObject,options: .PrettyPrinted,error: &error)!

//4. convert NSData back to Nsstring (use Nsstring init for convenience),later you can convert to String.
let prettyPrintedJson = Nsstring(data: prettyJsonData,encoding: NSUTF8StringEncoding)!

//print the result
println("\(prettyPrintedJson)")

结果将如下所示

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...