Swift 解析这种 JSON 非常耗性能吗?

2019-12-10 12:02:33 +08:00
 jaylee4869
    "gender": [
      {
        "1": "男"
      },
      {
        "2": "女"
      }
    ],
    "relationship": [
      {
        "0": "妈妈"
      },
      {
        "1": "爸爸"
      },
      {
        "2": "奶奶"
      },
      {
        "3": "爷爷"
      },
      {
        "4": "姥姥"
      },
      {
        "5": "姥爷"
      },
      {
        "6": "其他"
      }
    ]
10582 次点击
所在节点    iDev
21 条回复
jaylee4869
2019-12-10 12:04:44 +08:00
主要用作数据字典,有人和我说 iOS 端遇到这种数据非常难受。。
tulongtou
2019-12-10 12:05:04 +08:00
key 为什么用字符串形式,明明已经是数字了
rrfeng
2019-12-10 12:07:49 +08:00
谁能告诉我这种数据结构有什么优势吗?列表不用 index,非要创建个嵌套的玩意儿用 index 当 key ?
jaylee4869
2019-12-10 12:08:18 +08:00
@tulongtou key 后面可能会有字符串类型,不一定全是数字
jaylee4869
2019-12-10 12:09:58 +08:00
@rrfeng #4
randyo
2019-12-10 12:11:46 +08:00
一个数组里面的数据却不是同一类型的,什么需要都头疼吧
passerbytiny
2019-12-10 12:13:35 +08:00
你把数据库种的关系数据模型,原封不动的弄成 json 传过去。我告诉你不光 IOS 难受,所有面向对象的语言遇到都难受。
解析 JSON 不耗性能,但是解析之后用起来就非常耗性能了。
finab
2019-12-10 12:15:07 +08:00
说下使用场景吧,这个 json 确实挺怪的,和性能没关系,使用上很麻烦

要不就做成字典,别数组里嵌套个一个 key 的字典,用 key 找起来也麻烦啊

如果数组里的字典,字段还不一样,那就更难处理了。可以考虑换个更容易使用的数据结构
finab
2019-12-10 12:17:47 +08:00
比如 我想找到 编号为 3 对应的 爷爷
得遍历数组,再遍历字典的 keys , 找出是否有 key 为 “3” 的 键值对,然后才能取出 爷爷
wjh3936
2019-12-10 12:21:30 +08:00
后台搞这种会被我们骂的。。不光 iOS 难受
Mohanson
2019-12-10 12:22:53 +08:00
此种数据结构看了想打人有没有!
cxe2v
2019-12-10 12:23:04 +08:00
这一看就是后端的枚举类型转过来的,这样用起来挺难受的,还是用键值对的数组吧
Tomey
2019-12-10 12:26:01 +08:00
会被打是真的
eGlhb2Jhb2Jhbw
2019-12-10 13:10:46 +08:00
性能耗不耗是不知道,就是有点耗键盘和脑子
queuey
2019-12-10 13:19:59 +08:00
看了想打人
0x000007
2019-12-10 14:00:40 +08:00
PHP 后台?
auhah
2019-12-10 14:55:07 +08:00
php 写的吧。。。。
tbwisk
2019-12-10 16:58:35 +08:00
"gender": [
{
"idx":"1",
"value":"男"
},
{
"idx":"2",
"value":"女"
}
],
"relationship": [
{
"idx":"0",
"value":"妈妈"
},
{
"idx":"1",
"value":"爸爸"
}
]
jorneyr
2019-12-10 17:24:23 +08:00
定义 Bean 的时候变量名能用 0, 1, 2, 3 吗?
wangyifei6817
2019-12-10 18:12:36 +08:00
这个后台脑子性能不太行?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/627571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX