Advertisement
HXXXXJ

Json Serialize

Apr 10th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.95 KB | None | 0 0
  1. protocol JsonSeriable {
  2.     func map()->String
  3. }
  4.  
  5.  
  6.  
  7. extension Int: JsonSeriable{
  8.     func map() -> String {
  9.         return String(self)
  10.     }
  11. }
  12. extension String: JsonSeriable{
  13.     func map() -> String {
  14.         return #""\#(self)""#
  15.     }
  16. }
  17.  
  18. extension Array  : JsonSeriable where Element : JsonSeriable{
  19.     func map() -> String {
  20.         var res = "["
  21.         for item in self{
  22.             res.append( "\(item.map()),")
  23.         }
  24.         if self.count > 0 {
  25.             res.removeLast()
  26.         }
  27.         res.append("]")
  28.         return res
  29.     }
  30. }
  31.  
  32. extension Dictionary : JsonSeriable where Value : JsonSeriable, Key: JsonSeriable {
  33.     func map() -> String {
  34.         var res = "{"
  35.         for (key, value) in self{
  36.             res.append("\(key.map()):\(value.map())")
  37.             res.append(",")
  38.         }
  39.         if self.count > 0 {
  40.             res.removeLast()
  41.         }
  42.         res.append("}")
  43.         return res
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement