我是Coredata的新手,在我的项目中,我必须从API解析JSON,并且需要使用核心数据保存解析的JSON字典。我创建了一个名为Json的新实体并添加了一个字符串类型的属性,但是当我这样做时,它显示错误,'不可接受的属性的类型的属性:属性=“信息”;期望的类型= NSString使用Coredata保存Json字典
但我不能选择属性类型NSString,以下是我用来保存json字典使用核心数据的代码。请为我提供一个解决方案。
let session = URLSession.shared.dataTask(with: jsonRequest) { (data, response, error) in
if let res = response {
print(res)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: []) as! NSDictionary
let NewData = NSEntityDescription.insertNewObject(forEntityName: "Json", into: context)
NewData.setValue(json.value(forKey:"result") , forKey:"information")
do {
try context.save()
print("SAVED")
}
catch {
print(error)
}
}
catch {
print(error)
}
}
}
session.resume()
我的JSON数据如下
{
"result": [
{
"category_name": "today"
},
{
"category_name": "TechCrunch",
"category_image": "1500899368.jpg"
},
{
"category_name": "Science Daily",
"category_image": "1500899358.jpg"
},
{
"category_name": "ShowerThoughts",
"category_image": "1500899351.jpg"
},
{
"category_name": "BBC",
"category_image": "1500899343.png"
},
{
"category_name": "Goal.com",
"category_image": "1500899336.jpg"
},
{
"category_name": "Today I Learned",
"category_image": "1500899329.jpg"
},
{
"category_name": "Times Of India",
"category_image": "1500899321.png"
},
{
"category_name": "MIT Technology Review",
"category_image": "1500899313.png"
},
{
"category_name": "Business Insider",
"category_image": "1500458239.jpg"
},
{
"category_name": "coindesk",
"category_image": "1500544039.jpg",
"data": [
{
"category_id": "34",
"news_id": "215",
"news_quote": "",
"title": "Bitcoin drama",
"image": "2017-07-20/1500544487.jpg",
"date": "2017-09-07 04:10:10"
},
{
"category_id": "34",
"news_id": "225",
"news_quote": "",
"title": "Bitcoin Price Surges",
"image": "2017-07-21/1500629251.jpg",
"date": "2017-09-07 04:10:10"
},
{
"category_id": "34",
"news_id": "229",
"news_quote": null,
"title": "Bitcoin Prices Gain",
"image": "2017-07-22/1500635952.jpg",
"date": "2017-09-07 04:10:10"
}
]
}
],
"response": {
"status": "success",
"status_code": 1,
"message": "success"
}
}
你可以显示你正在得到的json吗? – 3stud1ant3
@ 3stud1ant3更新了我的问题 –
看来结果不是字符串,它是一个数组 – 3stud1ant3