Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Swift - How to add Quotes in a string

0 oy
17 kez görüntülendi
22, Mart, 22 ios development kategorisinde ibolat tarafından soruldu

Selamün aleyküm cümleten,

Alamofire kütüphanesini kullanarak post yapmaya çalışırken gönderdiğim string'te çift tırnak " oluşturmaya çalışırken sürekli \" back slash ile birlikte geliyor string alt tarafta paylaşıyorum kodu encode ile ilgili bir sorun mu bir türlü çözemedim...

  var jsonString:Data
    do {
        let encoder = JSONEncoder()

        jsonString = try encoder.encode(bookingDTO)

        let string1 = String(data: jsonString, encoding: String.Encoding.utf8)

        let begin = "{\"ContentString\":"

        let str1:String = begin + string1! + "}"

        let postParam: [String: String] = ["data": str1]

        print(postParam)

        _ = Alamofire.request("http://xxxxx/xxxx/xxx",
                                         method: .post,
                                         parameters: postParam,
                                         encoding: JSONEncoding.default,
                                         headers: header).responseJSON {
                                            response in
                                            if let status = response.response?.statusCode {
                                                switch(status){
                                                case 201:
                                                    completionHandler(true)
                                                default:
                                                    print("error with response status: \(status)")
                                                    completionHandler(false)
                                                }
                                            }
                                        }
    } catch {
        print(error)
    }
}

Gelen: {\"ContentString\" .....
Beklenen: {"ContentString" .....

1 cevap

+1 oy
22, Mart, 22 yasin tarafından cevaplandı

Aleyküm selam.
Backslash gelmesi yanlış değil.
Hata request parametreleri için belirlediğin encoding tipinde.
"JSONEncoding.default" değil "URLEncoding.default" olmalı.
post veya get farketmez, http request ile parametre gönderdiğinde URLEncoding.default kullanmalısın, parametrelerdeki back slashlar url oluşturulurken encode edilerek gönderilir.

...