Saya punya dictionary
saya harus menghasilkan JSON string
dengan menggunakan dictionary
. Apakah mungkin untuk mengubahnya? Bisakah kalian bantu dalam hal ini?
ios
objective-c
json
string
ChandraSekhar
sumber
sumber
Jawaban:
Berikut adalah kategori untuk NSArray dan NSDictionary untuk membuat ini sangat mudah. Saya telah menambahkan opsi untuk mencetak-cantik (baris baru dan tab agar lebih mudah dibaca).
.
.
.
sumber
NSUTF8StringEncoding
adalah pengkodean yang benar?NSNumber
,NSString
, danNSNull
- akan mencari tahu dalam satu atau dua menit!Apple menambahkan parser dan serializer JSON di iOS 5.0 dan Mac OS X 10.7. Lihat NSJSONSerialisasi .
Untuk menghasilkan string JSON dari NSDictionary atau NSArray, Anda tidak perlu mengimpor kerangka kerja pihak ketiga lagi.
Inilah cara melakukannya:
sumber
NSArray
danNSDictionary
akan membuatnya lebih mudah menggunakannya kembali.[NSJSONSerialization JSONObjectWithData:options:error:]
mengembalikan object Foundation dari data JSON yang diberikanUntuk mengonversi NSDictionary ke NSString:
sumber
CATATAN: Jawaban ini diberikan sebelum iOS 5 dirilis.
Dapatkan json-framework dan lakukan ini:
myDictionary
akan menjadi kamus Anda.sumber
Anda juga dapat melakukan ini sambil jalan dengan memasukkan yang berikut ke dalam debugger
sumber
error: use of undeclared identifier 'NSUTF8StringEncoding'
Anda dapat melewati larik atau kamus. Di sini, saya mengambil NSMutableDictionary.
Untuk menghasilkan string JSON dari NSDictionary atau NSArray, Anda tidak perlu mengimpor kerangka kerja pihak ketiga. Cukup gunakan kode berikut: -
sumber
sumber
+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'
kesalahan. Menggunakan XCode 9.0Dalam Swift (versi 2.0) :
sumber
Sekarang tidak perlu kelas pihak ketiga ios 5 memperkenalkan Nsjsonserialization
kode ini dapat bermanfaat untuk mendapatkan jsondata.
sumber
NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers
.Di Swift, saya telah membuat fungsi pembantu berikut:
sumber
Pada ISO7 setidaknya Anda dapat dengan mudah melakukan ini dengan NSJSONSerialization .
sumber
Berikut adalah Swift 4 versi
}
Contoh Penggunaan
Atau jika Anda yakin itu adalah kamus yang valid maka Anda dapat menggunakannya
sumber
Ini akan bekerja di swift4 dan swift5.
sumber
Yang ini cukup dekat dengan gaya cetak Objective-C asli
sumber