यहाँ नीचे Json उत्पादन के लिए कोड है:आईओएस स्विफ्ट में JSON से स्ट्रिंग को कैसे परिवर्तित करें?
let params : [[String : AnyObject]] = [["name" : "action", "value" : "pay" ],["name" : "cartJsonData" , "value" : ["total": 1,"rows":[["quantity": “1” ,"title":"Donation for SMSF India - General Fund","price":"1","itemId":"DN001","cost": “1”,”currency":"INR"]]]], ["name" : "center", "value" : "Chennai"], ["name" : "flatNumber", "value" : "503"], ["name" : "panNumber", "value" : ""], ["name" : "payWith"], ["name" : "reminderFrequency","value" : "Monthly"], ["name" : "shipToAddr1"], ["name" : "shipToAddr2"], ["name" : "shipToCity"], ["name" : "shipToCountryName" , "value" : "India"], ["name" : "shipToEmail", "value" : “[email protected]"], ["name" : "shipToFirstName" , "value": "4480101010"], ["name" : "shipToLastName"], ["name" : "shipToPhone", "value" : "4480101010"], ["name" : "shipToState"], ["name" : "shipToZip"], ["name" : "userId", "value" : “null”], ["name" : "shipToCountry", "value" : "IN"]]
var jsonObject: NSData? = nil
do {
jsonObject = try NSJSONSerialization.dataWithJSONObject(params, options: NSJSONWritingOptions())
print(jsonObject) // This will print the below json.
}
catch{}
मुद्रण JSONObject, मैं इस एक मिल गया।
[{ "मूल्य": "भुगतान", "नाम": "कार्रवाई"}, { "मूल्य": { "पंक्तियों": [{ "कीमत": "1", "मात्रा": "1", "लागत": "1", "मुद्रा": "आईएनआर", "आइटम आईडी": "डीएन 001", "शीर्षक": "एसएमएसएफ इंडिया - जनरल फंड के लिए दान" }], "कुल": 1}, "नाम": "कार्टजसनडाटा"}, {"मूल्य": "चेन्नई", "नाम": "केंद्र"}, {"मूल्य": "503", "नाम": "flatNumber"}, { "मूल्य": "", "नाम": "panNumber"}, {"name": "payWith"}, {"value": "मासिक", "नाम": "अनुस्मारक फ़्रिक्वेंसी"}, {"नाम" : "shipToAddr1"}, { "name": "shipToAddr2"}, {"name": "shipToCity"}, {"value": "India", "name": "shipToCountryName" }, {"value": "[email protected]", "name": "shipToEmail"}, {"value": "4480101010", "name": "shipToFirstName"}, {"name": " shipToLastName "}, {" value ": " 4480101010 "," name ":" shipToPhone "}, {" name ":" shipToState "}, { " नाम ":" shipToZip "}, {" value ":" अशक्त "," नाम ":" userId "}, { " मूल्य ":" में "," नाम ":" shipToCountry "}]
और मैं JSON नीचे प्रारूप में होना चाहता हूँ।
[{ "नाम": "कार्रवाई", "मूल्य": "भुगतान"}, { "नाम": "cartJsonData", "मूल्य": "{\" कुल \ ": 1, \ "पंक्तियां \": [{\ "itemId \": \ "DN002 \", \ "शीर्षक \": \ " के लिए दान एसएमएसएफ भारत - सामान्य फंड \", \ "मात्रा \": \ "100 \ ", \" मुद्रा \ ": \" INR \ ", \" मूल्य \ ": \" 1 \ ", \" लागत \ ": \" 100 \ "}]}" }, {"name": " केंद्र "," मूल्य ":" चेन्नई "}, {" नाम ":" फ्लैट नम्बर ", " मूल्य ":" "}, {" नाम ":" पैन नम्बर "," मान ":" एएसएसडीडीबीबीडीजेडी "}, { "नाम": "payWith"}, {"name": "अनुस्मारक फ़्रिक्वेंसी", "वैल ue ":" मासिक " }, {" नाम ":" shipToAddr1 "}, {" name ":" shipToAddr2 "}, {" name ": " shipToCity "}, {" name ":" shipToCountryName "," मूल्य ":" भारत "}, { " नाम ":" shipToEmail "," मूल्य ":" सुधाकर@gmail.com "}, {" नाम ": " शिप टॉफ़र्ननाम "," मूल्य ":" राजू "}, {"Name": "shipToLastName"}, { "name": "shipToPhone", "value": "1234567890"}, {"name": "shipToState"}, {"name": "shipToZip"}, { "नाम": "userId", "मूल्य": "अशक्त"}, { "नाम": "shipToCountry", "मूल्य": "में"}]
यह कैसे किया जा सकता है? केवल cartJsonData
में मान बदलने की जरूरत है। क्या कोई इसे हल करने में मेरी मदद कर सकता है?
'try' वाक्य रचना' jsonObject' कभी नहीं होगा का उपयोग करते हुए 'nil' – vadian
यह क्या उत्पादन के साथ आपको परेशान करती है? ऐसा लगता है कि यह एक वैध जेसन है। मुझे लगता है कि आपको यह तथ्य पसंद नहीं है कि आपकी चाबियाँ और मान ऑर्डर बदल गए हैं .. इस मामले में आप इसे ठीक नहीं कर सकते हैं, क्योंकि शब्दकोश कुंजी के क्रम को सुरक्षित नहीं करता है, मेरा मतलब है कि आप अभी भी किसी भी तरह से काम कर सकते हैं खुद को जेसन आउटपुट करना या ऐसा करने के लिए कुछ अन्य lib का उपयोग करना, लेकिन ऐसा लगता है कि यह इसके लायक नहीं है। – igrek
बीटीडब्ल्यू, शायद आपको 'WritingOptions.sortedKeys' विकल्प – igrek