Swift 解析这种 JSON 非常耗性能吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
lavvrence
V2EX    iDev

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

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

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

    如果数组里的字典,字段还不一样,那就更难处理了。可以考虑换个更容易使用的数据结构
    finab
        9
    finab  
       2019-12-10 12:17:47 +08:00
    比如 我想找到 编号为 3 对应的 爷爷
    得遍历数组,再遍历字典的 keys , 找出是否有 key 为 “3” 的 键值对,然后才能取出 爷爷
    wjh3936
        10
    wjh3936  
       2019-12-10 12:21:30 +08:00
    后台搞这种会被我们骂的。。不光 iOS 难受
    Mohanson
        11
    Mohanson  
       2019-12-10 12:22:53 +08:00
    此种数据结构看了想打人有没有!
    cxe2v
        12
    cxe2v  
       2019-12-10 12:23:04 +08:00
    这一看就是后端的枚举类型转过来的,这样用起来挺难受的,还是用键值对的数组吧
    Tomey
        13
    Tomey  
       2019-12-10 12:26:01 +08:00
    会被打是真的
    eGlhb2Jhb2Jhbw
        14
    eGlhb2Jhb2Jhbw  
       2019-12-10 13:10:46 +08:00
    性能耗不耗是不知道,就是有点耗键盘和脑子
    queuey
        15
    queuey  
       2019-12-10 13:19:59 +08:00
    看了想打人
    0x000007
        16
    0x000007  
       2019-12-10 14:00:40 +08:00
    PHP 后台?
    auhah
        17
    auhah  
       2019-12-10 14:55:07 +08:00
    php 写的吧。。。。
    tbwisk
        18
    tbwisk  
       2019-12-10 16:58:35 +08:00
    "gender": [
    {
    "idx":"1",
    "value":"男"
    },
    {
    "idx":"2",
    "value":"女"
    }
    ],
    "relationship": [
    {
    "idx":"0",
    "value":"妈妈"
    },
    {
    "idx":"1",
    "value":"爸爸"
    }
    ]
    jorneyr
        19
    jorneyr  
       2019-12-10 17:24:23 +08:00
    定义 Bean 的时候变量名能用 0, 1, 2, 3 吗?
    wangyifei6817
        20
    wangyifei6817  
       2019-12-10 18:12:36 +08:00
    这个后台脑子性能不太行?
    EthanZC
        21
    EthanZC  
       2019-12-11 10:24:49 +08:00
    @wangyifei6817 抓住了重点,图自己省心,或者就是没经验
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3174 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 12:13 PVG 20:13 LAX 05:13 JFK 08:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86