2015-10-07 27 views
0

我想在我的POST方法中傳遞一個參數。這是要發送的有效參數。如何在swift中實現這種格式?

{ 
      "feedback" : "Sample Feedback", 
      "orderId" : 1240, 
      "ratings" :  [ 
      { 
      "rateType" : 1, 
      "rating" : 3 
      }, 
      { 
      "rateType" : 2, 
      "rating": 4 
      } 
      ], 
      "sellerId" : 598, 
      "title" : "Sample title" 
    } 

我使用這個(下同)實現該格式(上圖),但服務器返回無效反饋。請幫助我,如果我錯過了某些東西或者錯誤地實現了上述格式。

let parameter: [String: AnyObject] = [ 
     "sellerId": self.sellerId, 
     "orderId": self.orderId, 
     "title": "Seller Feedback", 
     "feedback": "Sample Feedback", 
     "ratings": [[ 
      "rateType": 1, 
      "rating": self.rate1 
      ], [ 
       "rateType": 2, 
       "rating": self.rate2 
      ]] 
    ] 

謝謝!

+0

爲什麼無效的'feedback'?可能錯誤是「收視率」階段格式化,服務器返回錯誤的位置。 – t4nhpt

回答

0

字典沒有排序。你將不得不實現自己的有序字典或使用結構。這裏有一個來自http://timekl.com/blog/2014/06/02/learning-swift-ordered-dictionaries/

struct OrderedDictionary<Tk: Hashable, Tv> { 
    /* ... vars and init ... */ 

    subscript(key: Tk) -> Tv? { 
     get { 
      return self.values[key] 
     } 
     set(newValue) { 
      if newValue == nil { 
       self.values.removeValueForKey(key) 
       self.keys.filter {$0 != key} 
       return 
      } 

      let oldValue = self.values.updateValue(newValue!, forKey: key) 
      if oldValue == nil { 
       self.keys.append(key) 
      } 
     } 
    } 
}