我搜索了很多,我确实找到了很多答案,但不是我需要的具体答案 - 这很简单。
我希望用户输入2 不同 NSString
,并从中创建一个json以发送给服务器。
我写了这个:
-(id)stringToJason:(NSString*)stringData
{
NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
return json;
}
但是有些东西我不知道。这将1个nsstring作为json返回。
我如何采用2个不同的NSStrings
,并从中创建json?
让我们说:userName:me
(当每个来自文本字段时)
json应该是这样的:
"Username": "me",
"Firstname": "r",
"Lastname": "k",
答案 0 :(得分:4)
如果您想要生成如下所示的JSON:
{
"Username":"me",
"Firstname":"r",
"Lastname":"k"
}
r
和k
是从文本字段中获取的值,您可以按照以下方式编写方法:
-(NSData*)jsonFromFirstName:(NSString*)firstName andLastName:(NSString*)lastName
{
NSDictionary* dic = @{@"Username" : @"me", @"Firstname" : firstName, @"Lastname" : lastName};
// In production code, _check_for_errors!
NSData* json = [NSJSONSerialization dataWithJSONObject:dic options:0 error:nil];
return json;
}
您可以调用此方法,将r
(firstName
)和k
(lastName
)值传递给它。它将构造一个具有所需JSON结构的字典,并具有所需的值。然后,您可以使用NSJSONSerialization
的{{1}}选择器将字典转换为JSON数据对象(存储在NSData对象中)。然后,您可以将数据发送到服务器!
在方法的第一行创建的字典可以根据需要进行扩展,甚至可以传入非字符串(例如数字,数组甚至其他字典!)。