我正在从 Web 服务获取 JSON 数据,并尝试将其存储在带有 Magical Record 的核心数据中。我阅读了 Saul Mora 的精彩帖子(而且只有文档?)“轻松导入数据”,但我仍然不明白我需要做什么才能获取实体中的所有数据。
这是 Web 服务返回的 JSON:
{
"ApiVersion": 4,
"AvailableFileSystemLibraries": [
{
"Id": 10,
"Name": "Movie Shares",
"Version": "0.5.4.0"
},
{
"Id": 11,
"Name": "Picture Shares",
"Version": "0.5.4.0"
},
{
"Id": 5,
"Name": "Shares",
"Version": "0.5.4.0"
},
{
"Id": 9,
"Name": "Music Shares",
"Version": "0.5.4.0"
}
],
"AvailableMovieLibraries": [
{
"Id": 3,
"Name": "Moving Pictures",
"Version": "0.5.4.0"
},
{
"Id": 7,
"Name": "MyVideo",
"Version": "0.5.4.0"
}
],
"AvailableMusicLibraries": [
{
"Id": 4,
"Name": "MyMusic",
"Version": "0.5.4.0"
}
],
"AvailablePictureLibraries": [
{
"Id": 8,
"Name": "Picture Shares",
"Version": "0.5.4.0"
}
],
"AvailableTvShowLibraries": [
{
"Id": 6,
"Name": "MP-TVSeries",
"Version": "0.5.4.0"
}
],
"DefaultFileSystemLibrary": 5,
"DefaultMovieLibrary": 3,
"DefaultMusicLibrary": 4,
"DefaultPictureLibrary": 0,
"DefaultTvShowLibrary": 6,
"ServiceVersion": "0.5.4"
}
我要存储该数据的实体如下所示:
还有一个Server
与 1:1 关系的实体ServerInfo
。
我想做的事:
- 在 ServerInfo 中存储基本数据(ApiVersion,...)。这个我已经开始工作了。
- 将每个对象存储在 AvailableXYLibraries 中
BackendLibrary
(来自 的 1:n 关系ServerInfo
)。- 根据 AvailableXYLibraries 的 XY 部分设置
type
,例如 AvailableMovieLibraries 的“电影”。 defaultLibrary
如果此库被 引用,则设置为 trueDefaultXYLibrary
。- 设置
providerId
为 servername + LibraryId,因为有多个服务器可以拥有具有相同数字 ID 的 BackendLibraries。
- 根据 AvailableXYLibraries 的 XY 部分设置
用魔法唱片可以吗?我想我需要实现一些导入钩子并设置一些用户信息键,但是我读到的所有内容并没有真正告诉我在哪里设置什么用户信息键或在哪里以及如何实现哪种方法。
我希望这是有道理的,你可以给我一些提示:) 谢谢!