NSData 形式で次の応答を返す PHP サービスがあります。以下を使用して同じものを NSString に変換した後:
NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
私は以下を取得します:
[
{
"Emp_Name": "Krishna Mamidi",
"Emp_Designation": "Driver",
"Emp_Type": "Permanent",
"Joining_Date": "05-MAR-2011",
"Salary": 10000
},
{
"Emp_Name": "Aditya Reddy",
"Emp_Designation": "supervisor",
"Emp_Type": "Permanent",
"Joining_Date": "06-MAR-2011",
"Salary": 9000
},
{
"Emp_Name": "Rajiv krishna",
"Emp_Designation": "director",
"Emp_Type": "Permanent",
"Joining_Date": "01-MAR-2011",
"Salary": 100000
}
]
上記は正しい JSON 形式です。
上記の NSData 形式を受け取ったので、次を使用して同じものを JSON Dictionary に変換します。
NSError *error = nil;
id jsonObject = [NSJSONSerialization
JSONObjectWithData:data
options:NSJSONWritingPrettyPrinted error:&error];
NSDictionary *deserializedDictionary = nil;
if (jsonObject != nil && error == nil)
{
if ([jsonObject isKindOfClass:[NSDictionary class]])
{
//Convert the NSData to NSDictionary in this final step
deserializedDictionary = (NSDictionary *)jsonObject;
}
}
ただし、「deserializedDictionary」は常に null または空です。基本的に、上記の If ループ内に入ることはありません。
私はしばらくこれを理解しようとしてきましたが、できません。助けてください