2017-09-06 14 views
-3

私はサーバーからjsonを取得します。私はIDフィールドを文字列に変換する必要があります。JSONの数値を文字列にすばやく変換しますか?

問題はjsonが"12345"を返すことがあり、時々12345(引用符の有無にかかわらず)を返します。

値のタイプをチェックして変換結果がnilかどうかを確認せずにこの問題を解決することはできますか?問題は、あなたが[NSString stringWithFormat:@"%@", some_object]を持ってObjective-Cである

let result = (some_index as? String) ?? String(some_index as! Int)

は、私は変換結果を確認して使用したコードの

例を更新しました。しかし迅速に選択肢があり、結果に「オプション」という言葉を挿入しようとします。

はoptionals程度ランダム答えと

STOPスパムを更新しました。質問は具体的です - 「String、Intのように見えるかもしれないjson値を単純にアンラップする方法、または全く存在しない方法」?彼らはInt? -> IntString? -> Stringと同様の変換方法を尋ねるこの質問に

swift How to remove optional String Character

。私の場合は、最初のタイプとしてInt?またはString?があるかどうかわかりません。

+0

;-)、CustomStringConvertibleに準拠あなたの現在の関連コードであなたの質問を更新し、助けが必要なものを明確に示してください。 – rmaddy

+0

値のタイプをチェックして変換が失敗したかどうかをチェックするのはなぜですか?値がStringまたはIntと矛盾する場合は、自分自身をチェックする必要があります。他の魔法の方法はありません。 – Moritz

+0

実際にStringまたはIntの値を格納しますか?さらに、すでに他人が要求しているように、より多くの文脈を提供してください。 –

答えて

0

両方StringIntあなたがCustomStringConvertibleに値をダウンキャストオプションで、文字列の補間

let dict : [String:Any] = ["Foo" : 12345] 

if let value = dict["Foo"] as? CustomStringConvertible { 
    let result = "\(value)" 
} 

を使用し、一貫性のないデータを送信するためのWebサービスの所有者を責めることができるように

+0

この回答を使用しても問題ありませんオプションのカテゴリの+メソッド –

関連する問題