今天遇到一個需求,將false和true,當做字典的值,並將字典轉成字符串,上傳到服務器。
可能這個需求大家遇到過,大部分原因是安卓的同事已經按這樣的需求開發完了。我們只能跟隨安卓的腳步了。
(一)處理true,false,並加入字典
1.先設置兩個變量(注意:bool是小寫)
bool bool_true = true;
bool bool_false = false;
2.然后將值賦值給字典的某個key
dict[@"setting01"] = @(bool_true);
dict[@"setting02"] = @(bool_false);
先定義bool變量的原因是,直接用true,false,處理完成之后容易變成0或者1。
(二)處理字典,將字典轉成字符串
1.轉成NSData
NSData *data = [NSJSONSerialization dataWithJSONObject:tempDict options: NSJSONWritingPrettyPrinted error:NULL];
2.將data轉成字符串
NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
這樣就完成需求。
當時,當我們下次需要從服務器獲取這段字符串的時候,就需要將字符串轉成字典了,步驟如下
1.將字符串轉成data
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
2.將data轉成字典
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
3.處理數據,將字典中得bool值賦值給字典(為了保持一致性,還是生成false和true,方便下次再傳給服務器)
bool bool_true = true;
dict[@"setting"] = @(bool_true);
bool bool_false = false;
dict[@"setting"] = @(bool_false);