Python解析非标准JSON(Key值非字符串) àì夳堔傛蜴生んèń 2021-12-22 15:19 310阅读 0赞 采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用`json.loads(JSON)`的形式导入。在网上搜集来一些方法以便日后使用。 #### 方法一: #### def parse_js(expr): """ 解析非标准JSON的Javascript字符串,等同于json.loads(JSON str) :param expr:非标准JSON的Javascript字符串 :return:Python字典 """ obj = eval(expr, type('Dummy', (dict,), dict(__getitem__=lambda s, n: n))()) return obj #### 方法二(推荐) #### def parse_js(expr): """ 解析非标准JSON的Javascript字符串,等同于json.loads(JSON str) :param expr:非标准JSON的Javascript字符串 :return:Python字典 """ import ast m = ast.parse(expr) a = m.body[0] def parse(node): if isinstance(node, ast.Expr): return parse(node.value) elif isinstance(node, ast.Num): return node.n elif isinstance(node, ast.Str): return node.s elif isinstance(node, ast.Name): return node.id elif isinstance(node, ast.Dict): return dict(zip(map(parse, node.keys), map(parse, node.values))) elif isinstance(node, ast.List): return map(parse, node.elts) else: raise NotImplementedError(node.__class__) return parse(a) 转载于:https://www.cnblogs.com/taceywong/p/5876621.html
相关 Java JSON解析问题:非JSON字符串转JSON失败 在Java中,如果你有一个非JSON的字符串,直接使用`org.json.JSONObject`或者其他JSON库进行解析通常会失败。这是因为非JSON字符串不符合JSON数据 谁借莪1个温暖的怀抱¢/ 2024年09月11日 20:30/ 0 赞/ 11 阅读
相关 Python处理非标准 json 格式字符串 数据格式 [{id,12,title:"测试数据标题",content:"这是文章内容"}, {id,13,title:"测试数据标题13",content: ╰半橙微兮°/ 2022年11月12日 02:46/ 0 赞/ 532 阅读
相关 python从字符串获取第一个非空字符串 最近在做一个输入rtsp视频路径时,总是读取不到正确视频,后来发现pyqt的QLineEdit控件 在输入rtsp时,自动空了一位,如下图: ![在这里插入图片描述][wa ╰+攻爆jí腚メ/ 2022年09月12日 08:59/ 0 赞/ 151 阅读
相关 非标准分析在中国的延伸 1980年,科学出版社出版发行北大申又枨主持翻译的中译版是在中国的延伸. 2018年,我们的无穷小微积分网站收录了中译版是在互联网时代在中国的又一次延伸。可供读者免费自由下 叁歲伎倆/ 2022年09月08日 13:58/ 0 赞/ 93 阅读
相关 标准非STL容器 : bitset 1. 概念 什么是“标准非STL容器”?标准非STL容器是指“可以认为它们是容器,但是他们并不满足STL容器的所有要求”。前文提到的容器适配器stack、queue及pri 朱雀/ 2022年08月05日 07:27/ 0 赞/ 135 阅读
相关 PHP求非重复字符串的最大值 function getMaxString($str){ $hash = array(); $prev = 0;//公共字符串的初始位置 快来打我*/ 2022年06月14日 08:12/ 0 赞/ 142 阅读
相关 css非标准的ime-mode属性 ime是Input Method Editor的简称。它是一种专门的应用程序, 用来输入代表东亚地区书面语言文字的不同字符。 使用此种输入法,不需特殊的键盘(对应各种语言的 绝地灬酷狼/ 2022年05月15日 05:13/ 0 赞/ 115 阅读
相关 git clone 非标准的ssh端口(非22)端口 [2019独角兽企业重金招聘Python工程师标准>>> ][2019_Python_] ![hot3.png][] 公司在内网搭建了gitLab服务器, 同时使用了花生壳 迷南。/ 2022年01月13日 09:17/ 0 赞/ 512 阅读
相关 Python解析非标准JSON(Key值非字符串) 采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用`json àì夳堔傛蜴生んèń/ 2021年12月22日 15:19/ 0 赞/ 311 阅读
还没有评论,来说两句吧...