您的位置:

iOS字典转字符串

一、js字典转字符串

在js中,将字典对象转换成字符串可以直接使用JSON.stringify()方法。

let dict = {
  name: "Jack",
  age: 30,
  gender: "male"
};
let str = JSON.stringify(dict);
console.log(str); // {"name":"Jack","age":30,"gender":"male"}

上述代码中,使用JSON.stringify()将字典对象dict转换成字符串,并且输出结果为{"name":"Jack","age":30,"gender":"male"}。

二、iOS字符串转字典

iOS中,将字符串转换成字典有两种方法:

方法一:使用NSJSONSerialization类

NSString *str = @"{\"name\":\"Jack\",\"age\":30,\"gender\":\"male\"}";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@", dict); // {name = Jack; age = 30; gender = male;}

上述代码中,将JSON格式的字符串转换成NSData类型的数据,并将数据通过NSJSONSerialization类转换成字典对象。

方法二:使用第三方库YYModel

NSString *str = @"{\"name\":\"Jack\",\"age\":30,\"gender\":\"male\"}";
NSDictionary *dict = [str yy_modelToJSONObject];
NSLog(@"%@", dict); // {name = Jack; age = 30; gender = male;}

上述代码中,使用YYModel将JSON格式的字符串直接转换成字典对象。

三、python字符串转成字典

在python中,将字符串转换成字典可以使用eval()函数或json.loads()方法。

方法一:使用eval()函数

str = '{"name": "Jack", "age": 30, "gender": "male"}'
dict = eval(str)
print(dict) # {'name': 'Jack', 'age': 30, 'gender': 'male'}

上述代码中,使用eval()函数将字符串str转换成字典对象。

方法二:使用json.loads()方法

import json
str = '{"name": "Jack", "age": 30, "gender": "male"}'
dict = json.loads(str)
print(dict) # {'name': 'Jack', 'age': 30, 'gender': 'male'}

上述代码中,使用json.loads()将字符串str转换成字典对象。

四、iOS字符串转数组

iOS中,将字符串转换成数组有两种方法:

方法一:使用字符串分割方法componentsSeparatedByString:

NSString *str = @"1,2,3,4,5";
NSArray *arr = [str componentsSeparatedByString:@","];
NSLog(@"%@", arr); // ["1", "2", "3", "4", "5"]

上述代码中,使用字符串分割方法componentsSeparatedByString:将字符串str按照逗号分割成数组。

方法二:使用第三方库YYModel

NSString *str = @"[1,2,3,4,5]";
NSArray *arr = [NSArray yy_modelArrayWithClass:[NSNumber class] json:str];
NSLog(@"%@", arr); // [1, 2, 3, 4, 5]

上述代码中,使用YYModel将JSON格式的字符串直接转换成数组对象。

五、iOS JSON转字符串

iOS中,将JSON对象转换成字符串可以使用NSJSONSerialization类。

NSDictionary *dict = @{
  @"name": @"Jack",
  @"age": @30,
  @"gender": @"male"
};
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", str); // {"name":"Jack","age":30,"gender":"male"}

上述代码中,将字典对象dict转换成JSON格式的NSData数据,并通过NSJSONSerialization将数据转换成JSON字符串。

六、iOS data转字符串

iOS中,将NSData类型的数据转换成字符串可以使用NSString的initWithData:encoding:方法。

NSData *data = [@"Hello World" dataUsingEncoding:NSUTF8StringEncoding];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", str); // Hello World

上述代码中,使用initWithData:encoding:方法将NSData类型的数据转换成字符串对象。

七、字典转成字符串

iOS中,将字典转换成字符串有两种方法:

方法一:使用NSJSONSerialization类

NSDictionary *dict = @{
  @"name": @"Jack",
  @"age": @30,
  @"gender": @"male"
};
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", str); // {"name":"Jack","age":30,"gender":"male"}

上述代码中,将字典对象dict转换成JSON格式的NSData数据,并通过NSJSONSerialization将数据转换成JSON字符串。

方法二:使用第三方库YYModel

NSDictionary *dict = @{
  @"name": @"Jack",
  @"age": @30,
  @"gender": @"male"
};
NSString *str = [dict yy_modelToJSONString];
NSLog(@"%@", str); // {"name":"Jack","age":30,"gender":"male"}

上述代码中,使用YYModel将字典对象直接转换成JSON字符串。

八、iOS字典转json

iOS中,将字典转换成JSON有两种方法:

方法一:使用NSJSONSerialization类

NSDictionary *dict = @{
  @"name": @"Jack",
  @"age": @30,
  @"gender": @"male"
};
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSLog(@"%@", data); // <7b226e61 6d65223a 224a6163 6b222c22 61676522 3a33302c 2267656e 64657222 3a226d61 6c65227d>

上述代码中,使用NSJSONSerialization将字典对象dict转换成JSON格式的NSData类型的数据。

方法二:使用第三方库YYModel

NSDictionary *dict = @{
  @"name": @"Jack",
  @"age": @30,
  @"gender": @"male"
};
NSData *data = [dict yy_modelToJSONData];
NSLog(@"%@", data); // <7b226e61 6d65223a 224a6163 6b222c22 61676522 3a33302c 2267656e 64657222 3a226d61 6c65227d>

上述代码中,使用YYModel将字典对象直接转换成JSON格式的NSData类型的数据。

九、字典字符串转字典

iOS中,将字典字符串转换成字典可以使用NSJSONSerialization类或者第三方库YYModel。

方法一:使用NSJSONSerialization类

NSString *str = @"{\"name\":\"Jack\",\"age\":30,\"gender\":\"male\"}";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@", dict); // {name = Jack; age = 30; gender = male;}

上述代码中,使用NSJSONSerialization将JSON格式的字符串转换成NSData类型的数据,并将数据转换成字典对象。

方法二:使用第三方库YYModel

NSString *str = @"{\"name\":\"Jack\",\"age\":30,\"gender\":\"male\"}";
NSDictionary *dict = [NSDictionary yy_modelWithJSON:str];
NSLog(@"%@", dict); // {name = Jack; age = 30; gender = male;}

上述代码中,使用YYModel将JSON格式的字符串直接转换成字典对象。