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

use*_*551 7 json ios

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

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

谢谢,

nRe*_*wik 13

获取格式化的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)")
Run Code Online (Sandbox Code Playgroud)

结果将如下所示

漂亮的JSON字符串