V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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 · Dec 10, 2019 · 11625 views
    This topic created in 2331 days ago, the information mentioned may be changed or developed.
        "gender": [
          {
            "1": "男"
          },
          {
            "2": "女"
          }
        ],
        "relationship": [
          {
            "0": "妈妈"
          },
          {
            "1": "爸爸"
          },
          {
            "2": "奶奶"
          },
          {
            "3": "爷爷"
          },
          {
            "4": "姥姥"
          },
          {
            "5": "姥爷"
          },
          {
            "6": "其他"
          }
        ]
    
    lavvrence
        1
    lavvrence  
    OP
       Dec 10, 2019
    主要用作数据字典,有人和我说 iOS 端遇到这种数据非常难受。。
    DonaidTrump
        2
    DonaidTrump  
       Dec 10, 2019 via iPhone
    key 为什么用字符串形式,明明已经是数字了
    rrfeng
        3
    rrfeng  
       Dec 10, 2019
    谁能告诉我这种数据结构有什么优势吗?列表不用 index,非要创建个嵌套的玩意儿用 index 当 key ?
    lavvrence
        4
    lavvrence  
    OP
       Dec 10, 2019 via iPhone
    @tulongtou key 后面可能会有字符串类型,不一定全是数字
    lavvrence
        5
    lavvrence  
    OP
       Dec 10, 2019 via iPhone
    @rrfeng #4
    randyo
        6
    randyo  
       Dec 10, 2019 via Android
    一个数组里面的数据却不是同一类型的,什么需要都头疼吧
    passerbytiny
        7
    passerbytiny  
       Dec 10, 2019
    你把数据库种的关系数据模型,原封不动的弄成 json 传过去。我告诉你不光 IOS 难受,所有面向对象的语言遇到都难受。
    解析 JSON 不耗性能,但是解析之后用起来就非常耗性能了。
    finab
        8
    finab  
       Dec 10, 2019
    说下使用场景吧,这个 json 确实挺怪的,和性能没关系,使用上很麻烦

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

    如果数组里的字典,字段还不一样,那就更难处理了。可以考虑换个更容易使用的数据结构
    finab
        9
    finab  
       Dec 10, 2019
    比如 我想找到 编号为 3 对应的 爷爷
    得遍历数组,再遍历字典的 keys , 找出是否有 key 为 “3” 的 键值对,然后才能取出 爷爷
    wjh3936
        10
    wjh3936  
       Dec 10, 2019
    后台搞这种会被我们骂的。。不光 iOS 难受
    Mohanson
        11
    Mohanson  
       Dec 10, 2019
    此种数据结构看了想打人有没有!
    cxe2v
        12
    cxe2v  
       Dec 10, 2019
    这一看就是后端的枚举类型转过来的,这样用起来挺难受的,还是用键值对的数组吧
    Tomey
        13
    Tomey  
       Dec 10, 2019
    会被打是真的
    eGlhb2Jhb2Jhbw
        14
    eGlhb2Jhb2Jhbw  
       Dec 10, 2019
    性能耗不耗是不知道,就是有点耗键盘和脑子
    queuey
        15
    queuey  
       Dec 10, 2019
    看了想打人
    0x000007
        16
    0x000007  
       Dec 10, 2019
    PHP 后台?
    auhah
        17
    auhah  
       Dec 10, 2019
    php 写的吧。。。。
    loveeatdog123
        18
    loveeatdog123  
       Dec 10, 2019
    "gender": [
    {
    "idx":"1",
    "value":"男"
    },
    {
    "idx":"2",
    "value":"女"
    }
    ],
    "relationship": [
    {
    "idx":"0",
    "value":"妈妈"
    },
    {
    "idx":"1",
    "value":"爸爸"
    }
    ]
    jorneyr
        19
    jorneyr  
       Dec 10, 2019
    定义 Bean 的时候变量名能用 0, 1, 2, 3 吗?
    wangyifei6817
        20
    wangyifei6817  
       Dec 10, 2019
    这个后台脑子性能不太行?
    EthanZC
        21
    EthanZC  
       Dec 11, 2019
    @wangyifei6817 抓住了重点,图自己省心,或者就是没经验
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1110 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 18:22 · PVG 02:22 · LAX 11:22 · JFK 14:22
    ♥ Do have faith in what you're doing.