|  |      1wenyu1001      2016-04-08 23:10:09 +08:00  1 | 
|  |      2shuax      2016-04-08 23:26:44 +08:00 try 一下能不能 load 咯 | 
|  |      3toono      2016-04-09 00:12:58 +08:00 ```python import json def is_json(myjson): try: json_object = json.loads(myjson) except ValueError, e: return False return True ``` 我只是搬运一下上面的 stack overflow 的答案。 如果使用 json.loads() 方法抛出 ValueError 的话即是解析错误。 | 
|  |      4toono      2016-04-09 00:13:47 +08:00  1 ``` python  import json def is_json(myjson): try: json_object = json.loads(myjson) except ValueError, e: return False return True ``` 我只是搬运一下上面的 stack overflow 的答案。 如果使用 json.loads() 方法抛出 ValueError 的话即是解析错误。 | 
|      5qqmishi      2016-04-09 01:29:26 +08:00 json.loads()解析一下就好了 | 
|  |      6SoloCompany      2016-04-09 02:19:03 +08:00  1 其实 如果你的目的不是准确的格式检查 而仅仅是希望数据格式自动适配 并且常用的数据类型都是 object 而不是 array 直接判断一下第一个字符是不是 { 就好了 如果希望自动适配 array 的话,就多判断一下第一个字符是不是 [ 呗 | 
|  |      7florije      2016-04-09 06:46:45 +08:00  1 json.loads('10086') | 
|  |      8florije      2016-04-09 06:48:43 +08:00  1 json loads 之后不异常,看数据是 dict 或者 array 就可以了其实。 | 
|      9null0z OP @wenyu1001 感谢, baidu , bing 都没有检索到。。被墙真难受,本来觉得 try 不优雅的,看来还是得 try ,感谢 | 
|  |      10pynix      2016-04-09 10:39:40 +08:00 感觉 xy problem | 
|      11calease      2016-04-09 10:49:10 +08:00  1 @florije json 不止 dict 和 array 。 @null0z 如果很多地方要用的话可以用 contextlib.contextmanager wrap 一下。 @ contextmanager def json_deserializer(my_str): try: yield json.loads(my_str) except: print "not valid json" with json_deserializer(my_str) as my_json_object: print "%s is deserialized into %s" % (my_str, my_json_object) | 
|      14calease      2016-04-09 21:12:24 +08:00  1 |