第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

字典順序錯(cuò)誤-JSON

字典順序錯(cuò)誤-JSON

我正在嘗試創(chuàng)建一個(gè)字典,可以將其制成JSON格式的對(duì)象并發(fā)送到服務(wù)器。例:    var users = [["First": "Albert", "Last": "Einstein",     "Address":[        "Street": "112 Mercer Street",        "City": "Princeton"]],["First": "Marie", "Last": "Curie",     "Address":[        "Street": "108 boulevard Kellermann",        "City": "Paris"]]]我用這個(gè)功能func nsobjectToJSON(swiftObject: NSObject) -> NSString {    var jsonCreationError: NSError?    let jsonData: NSData = NSJSONSerialization.dataWithJSONObject(swiftObject, options: NSJSONWritingOptions.PrettyPrinted, error: &jsonCreationError)!    var strJSON = NSString()    if jsonCreationError != nil {        println("Errors: \(jsonCreationError)")    }    else {        // everything is fine and we have our json stored as an NSData object. We can convert into NSString        strJSON =  NSString(data: jsonData, encoding: NSUTF8StringEncoding)!        println("\(strJSON)")    }    return strJSON}但是我的結(jié)果是這樣的:[  {    "First" : "Albert",    "Address" : {      "Street" : "112 Mercer Street",      "City" : "Princeton"    },    "Last" : "Einstein"  },  {    "First" : "Marie",    "Address" : {      "Street" : "108 boulevard Kellermann",      "City" : "Paris"    },    "Last" : "Curie"  }]問(wèn)題:為什么姓氏是姓氏?我認(rèn)為應(yīng)該在地址上方。請(qǐng)讓我知道我在NSDictionary上做錯(cuò)了什么,這才是錯(cuò)誤的。任何幫助將不勝感激-謝謝。
查看完整描述

3 回答

?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊

發(fā)表評(píng)論中已經(jīng)說(shuō)過(guò)的話:詞典是“無(wú)序集合”。他們的鍵/值對(duì)根本沒(méi)有任何順序。期。

如果要有序集合,請(qǐng)使用除字典外的其他東西。(做到這一點(diǎn)的一種方法是使用單項(xiàng)詞典的數(shù)組。)您還可以編寫代碼,將字典的鍵加載到可變數(shù)組中,對(duì)數(shù)組進(jìn)行排序,然后使用鍵的排序后的數(shù)組來(lái)獲取字典中的鍵/值對(duì)。所需的順序。

您還可以創(chuàng)建自己的集合類型,該集合類型使用字符串作為索引并使項(xiàng)目保持排序。Swift使其簡(jiǎn)單明了,盡管在計(jì)算上會(huì)很昂貴。


查看完整回答
反對(duì) 回復(fù) 2019-12-06
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

我確實(shí)喜歡這個(gè)


 let stagesDict = NSDictionary()

 if let strVal = sleepItemDict["stages"] as? NSDictionary {

 stagesDict = strVal

let sortedKeys = (stagesDict.allKeys as! [String]).sorted(by: <) 

 var sortedValues : [Int] = []

  for key in sortedKeys {

     let value = stagesDict[key]!

      print("\(key): \(value)")

      sortedValues.append(value as! Int)

    }

}


查看完整回答
反對(duì) 回復(fù) 2019-12-06
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

將字典鍵加載到數(shù)組中并進(jìn)行排序不是解決此問(wèn)題的方法。因?yàn)樵诤芏嗲闆r下,我們需要在沒(méi)有任何邏輯的情況下進(jìn)行訂購(gòu),所以我只想擁有一個(gè)像這樣的數(shù)組:c,d,a,e。因此,唯一的方法是將序列數(shù)組放入json中,以注意到這是我想要的順序。真煩人 用某種語(yǔ)言,他們沒(méi)有這個(gè)麻煩。例如,它是PHP。 

查看完整回答
反對(duì) 回復(fù) 2019-12-06
  • 3 回答
  • 0 關(guān)注
  • 624 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)