首页  >  问答  >  正文

请教一个python字符串处理的问题?

本人初学python,想利用python解决一些工作生活上面的实际问题,这样能提升更快一些。个人也不愿意做伸手党,但遇到一个问题确实自己无法解决,特此求助各位高手。
比如某程序会产生这样的日志
{TypeNameA:{JSON格式数据}}
{TypeNameA:{JSON格式数据}}
{TypeNameB:{JSON格式数据}}
{TypeNameC:{JSON格式数据}}

怎样先判断TypeName,然后再把后面json格式的数据取出来,通过json.loads(xxx)的方式读取为dict。再读取其中的数据?还有由于不同Type的日志,后面的json格式层级也不尽相同。如果在这样多层嵌套的字典中直接取到自己想要的内容?
比如{"person":{"name":{"firstname":"wang","oldname":"lee"}}}这样,我想直接获得firstname对应的内容,但是使用dict.get('xxx')明显是不行的,因为这里firstname已经不算是key,而且value的内容

另外有个问题,dict['key1']与dict.get('key')这两种方式,当处理大量数据的时候,其速度和性能有没有比较大的差异?

PHPzPHPz2741 天前588

全部回复(3)我来回复

  • 阿神

    阿神2017-04-18 10:35:05

    雷雷

    回复
    0
  • 迷茫

    迷茫2017-04-18 10:35:05

    firstname就是里面的词典的key。你就写这样吧:

    d = {"person":{"name":{"firstname":"wang","oldname":"lee"}}}
    d['person']['name']['firstname']

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:35:05

    需要先用json.loads()把json格式转换为字典,然后对字典'person'['firstname']层层提取

    回复
    0
  • 取消回复