我有一个字符串,我想在iOS中将其转换为JSON,但是当我使用nil
解析它时它返回jsonkit
。我的字符串格式如下。
[
{ index:0, title:ARPPU },
{ index:1, title:ARPU },
{ index:2, title:Conversion },
{ index:3, title:DAU },
{ index:4, title:DAU },
]
任何人都知道如何转换为JSON对象?任何帮助表示赞赏。
答案 0 :(得分:1)
我在这里看到的问题是你的JSON字符串无效。验证您的JSON here
试试这个
NSString *strJson = @"[{\"index\": \"0\",\"title\": \"ARPPU\"}]";
id jsonObj = [NSJSONSerialization JSONObjectWithData:[strJson dataUsingEncoding:NSUTF8StringEncoding]
options:NSJSONReadingMutableContainers error:nil];
这对我有用。
答案 1 :(得分:0)
首先修复JSON字符串,请参阅Introducing JSON和W3Schools。
然后它是一个JSONstring表示。
转换为NSData并使用JSONObjectWithData:options:error:
NSString *JSONStringRepresentation= @"["
@"{ \"index\":0, \"title\":\"ARPPU\" },"
@"{ \"index\":1, \"title\":\"ARPU\" },"
@"{ \"index\":2, \"title\":\"Conversion\" },"
@"{ \"index\":3, \"title\":\"DAU\" },"
@"{ \"index\":4, \"title\":\"DAU\" },"
@"]";
NSData *JSONAsData = [JSONStringRepresentation dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSArray *JSONAsArrayObject = [NSJSONSerialization JSONObjectWithData:JSONAsData options:0 error:&error];
NSLog(@"JSONAsArrayObject: %@", JSONAsArrayObject);
NSLog输出:
JSONAsArrayObject :(
{
index = 0;
title = ARPPU;
},
{
index = 1;
title = ARPU;
},
{
index = 2;
title =转换;
},
{
index = 3;
title = DAU;
},
{
index = 4;
title = DAU;
})
答案 2 :(得分:0)
使用NSUTF8Encoding将您的字符串转换为NSData并执行JSONSerialisation以使其成为JSON
// Converting Your String to NSData
NSString *myString=@"[
{ index:0, title:ARPPU },
{ index:1, title:ARPU },
{ index:2, title:Conversion },
{ index:3, title:DAU },
{ index:4, title:DAU },
]";
// Converts the string to Data
NSData* data = [myString dataUsingEncoding:NSUTF8StringEncoding];
// Does JSONSerialisation and convert the data into JSON
NSDictionary*dict=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
// Prints here the JSON
NSLog(@"Dict value==%@",dict);