2017-05-06 3 views
0

私はオプションを使用することができます知っているが、このようJSONSerialization.WritingOptions.prettyPrinted:JSONの構造を知らなくても、SwiftやObj-CでJSONを "きれいに印刷"できますか?

do{ 
     let json = try JSONSerialization.jsonObject(with: data, options: []) as! [String:AnyObject] 
     let prettyJson = try JSONSerialization.data(withJSONObject: json, options:JSONSerialization.WritingOptions.prettyPrinted) 
     if let prettyString = String(data: prettyJson, encoding: String.Encoding.utf8) { 
      print(prettyString) 
     } 
    } catch { 
     print("Error with Json: \(error)") 
    } 

が、私のような出力を得るためにそれを自分自身を解析することができます。キーの種類を知らなくても

key: 
    value, 
key: 
    value, value, 
    . 
    . 
    . 

を、値ペアを期待する?

+0

シリアライズされたJSONを解析し、美しく印刷されたバージョンのように見た目を整えたいですか?確かに、あなたはできますが、それは多くの仕事になるでしょう。基本的には、表示形式のためにJSONパーサを自分で作成する必要があります。なぜあなたはそれをしたいのですか?それは「解決された問題」として知られています。 –

+0

@DuncanCパーザを書くことは必要ありません。いくつかの明らかな制限があります。辞書の項目の順序付け。エンコーディングを書くことはそれほど難しいことではありませんが、それほど簡単ではありません。 – Sulthan

+0

'dump(json)'が好きかもしれません – Moritz

答えて

-1

コンストラクタString(describing:)を使用して、データ要素のプログラム表現を取得できます(例:key:String、key:Array、key:Dictionary)。 JSONを好きなように印刷するためのルーチンを書くのに役立ちます。

関連する問題