如何生成 JSON 文件以预加载和导入 coreData?

Posted

技术标签:

【中文标题】如何生成 JSON 文件以预加载和导入 coreData?【英文标题】:How to generate a JSON file to preload and import to coreData? 【发布时间】:2015-09-19 01:17:16 【问题描述】:

我正在关注 raywenderlich.com 上的热门教程来预加载核心数据。 这是我的 JSON 文件:

[

    "countDescription": "###",
    "countId": "###",
    "states": [
        
            "stateDesc": "###",
            "stateId": "###",
            "cities": [
                
                    "cityDescription": "###",
                    "cityId": "###",
                    "destinations": [
                        
                            "destDescription": "###",
                            "destId": "###"
                        ,
                        
                            "destDescription": "###",
                            "destId": "###"
                        
                    ]
                ,
                
                    "cityDescription": "###",
                    "cityId": "###",
                    "destinations": [
                        
                            "destDescription": "###",
                            "destId": "###"
                        ,
                        
                            "destDescription": "###",
                            "destId": "###"
                        
                    ]
                
            ]
        ,
        
            "stateDesc": "###",
            "stateId": "###",
            "cities": [
                
                    "cityDescription": "###",
                    "cityId": "###",
                    "destinations": [
                        
                            "destDescription": "###",
                            "destId": "###"
                        ,
                        
                            "destDescription": "###",
                            "destId": "###"
                        
                    ]
                
            ]
        
    ]
,

    "countDescription": "###",
    "countId": "###",
    "states": [
        
            "stateDesc": "###",
            "stateId": "###",
            "cities": [
                
                    "cityDescription": "###",
                    "cityId": "###",
                    "destinations": [
                        
                            "destDescription": "###",
                            "destId": "###"
                        
                    ]
                
            ]
        
    ]

]

我的问题是如何在 excel 中执行此操作,然后我可以将其保存为 CSV 文件并使用 converter 获取我的 JSON。

在转换器网站中,我使用了 JSON-to-CSV 选项,但生成的 CSV 文件只为我提供实体 Country 的列,然后每一行的其他所有内容都在下一列中,其他属性的名称消失。

如果我使用另一个 source 那就太好了,它看起来就像我想的那样:

    "countDescription","countId","states__stateDesc","states__stateId","states__cities__cityDescription","states__cities__cityId","states__cities__destinations__destDescription","states__cities__destinations__destId"
"###","###","###","###","###","###","###","###"
"","","","","","","###","###"
"","","","","###","###","###","###"
"","","","","","","###","###"
"","","###","###","###","###","###","###"
"","","","","","","###","###"
"###","###","###","###","###","###","###","###"

但是,一旦我对表格进行了更改,然后继续将其保存为 CSV 文件,格式就不同了,这是什么原因?

英语是我的第二语言,我希望我的问题不是太难理解,如果你们不介意我问,一对多对一对多对一是否正确-数据模型的多对多?我确实设法将 JSON 文件预加载到核心数据中。

【问题讨论】:

【参考方案1】:

我认为快速编写自己的解析器并解析 CSV 文件要容易得多。至少这是我的工作流程,并且被证明是非常有效的。以字符串的形式读入文件,分成除以\n的数组,循环遍历行,每行循环遍历字段,以列标题为键构造字典。

然后使用NSJSONSerialization 类方法生成您的JSON 数据(提示:使用.PrettyPrinted 选项以提高可读性)。然后,您可以使用 String(data:encoding:) 从数据中生成 String 并将其保存到文件中(或将其转储到控制台并复制粘贴)。

【讨论】:

感谢@Mundi 的回复,我是初学者,希望有一个快速的解决方案,但我需要做更多的研究。我会尝试link,然后我肯定会带着更多问题回来。再次感谢。

以上是关于如何生成 JSON 文件以预加载和导入 coreData?的主要内容,如果未能解决你的问题,请参考以下文章

导出数据以预加载到移动应用中的 Firebase 实例中

Asp.Net Core 入门—— Taghelper

如何在 dotnet core 3 控制台应用程序中更改时重新加载“appsettings.json”

如何从.net core 2.1 Angular 6模板中的非相对路径导入ts和scss文件

如何导入非 node.js 文件?

如何导入非 node.js 文件?