Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将类似JSON的对象转换为JSON_Python_Json - Fatal编程技术网

Python 将类似JSON的对象转换为JSON

Python 将类似JSON的对象转换为JSON,python,json,Python,Json,我有一个JSON文件被过滤掉了,失去了原来的结构。文件的每一行看起来如下所示: {u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}} json.loads不起作用,ast.literal\u eval不起作用。我想我有两个问题:删除unicode并更改为。有人能提供一些关于从哪里开始的指针吗?假设您使用的是Python

我有一个JSON文件被过滤掉了,失去了原来的结构。文件的每一行看起来如下所示:

{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}

json.loads
不起作用,
ast.literal\u eval
不起作用。我想我有两个问题:删除unicode并更改为。有人能提供一些关于从哪里开始的指针吗?

假设您使用的是Python 2.X

json.loads
str
unicode
作为其参数。您提供的字符串不是有效的json字符串。因此,我们应该做一些预处理工作

import re, json

json_str = """{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}"""
json_str = json_str.replace("\'", "\"")
json_str = re.sub(r"u\"", "\"", json_str)

json_dict = json.loads(json_str)

然后
json\u dict
将是一个从json字符串中膨胀出来的字典。

假设您使用的是Python 2.X

json.loads
str
unicode
作为其参数。您提供的字符串不是有效的json字符串。因此,我们应该做一些预处理工作

import re, json

json_str = """{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}"""
json_str = json_str.replace("\'", "\"")
json_str = re.sub(r"u\"", "\"", json_str)

json_dict = json.loads(json_str)

然后
json\u dict
将是一个从json字符串中膨胀出来的字典。

假设您使用的是Python 2.X

json.loads
str
unicode
作为其参数。您提供的字符串不是有效的json字符串。因此,我们应该做一些预处理工作

import re, json

json_str = """{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}"""
json_str = json_str.replace("\'", "\"")
json_str = re.sub(r"u\"", "\"", json_str)

json_dict = json.loads(json_str)

然后
json\u dict
将是一个从json字符串中膨胀出来的字典。

假设您使用的是Python 2.X

json.loads
str
unicode
作为其参数。您提供的字符串不是有效的json字符串。因此,我们应该做一些预处理工作

import re, json

json_str = """{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}"""
json_str = json_str.replace("\'", "\"")
json_str = re.sub(r"u\"", "\"", json_str)

json_dict = json.loads(json_str)
然后,
json\u dict
将是一个从json字符串中膨胀的字典。

看起来像这样(在Python3中):

正如您所看到的,我将两种模式都替换为“char”,并(因此)将u替换为“patterns”

希望这有帮助

a、

看起来像是这样(在Python3中):

正如您所看到的,我将两种模式都替换为“char”,并(因此)将u替换为“patterns”

希望这有帮助

a、

看起来像是这样(在Python3中):

正如您所看到的,我将两种模式都替换为“char”,并(因此)将u替换为“patterns”

希望这有帮助

a、

看起来像是这样(在Python3中):

正如您所看到的,我将两种模式都替换为“char”,并(因此)将u替换为“patterns”

希望这有帮助

a、 以下是我的观点(Python 2.7)

不要看
StringIO
,它是用来模拟文件读取的。我的建议是逐行读取文件并逐行执行
literal\u eval

对我来说,这是使其工作无误的唯一方法。

以下是我的观点(Python 2.7)

不要看
StringIO
,它是用来模拟文件读取的。我的建议是逐行读取文件并逐行执行
literal\u eval

对我来说,这是使其工作无误的唯一方法。

以下是我的观点(Python 2.7)

不要看
StringIO
,它是用来模拟文件读取的。我的建议是逐行读取文件并逐行执行
literal\u eval

对我来说,这是使其工作无误的唯一方法。

以下是我的观点(Python 2.7)

不要看
StringIO
,它是用来模拟文件读取的。我的建议是逐行读取文件并逐行执行
literal\u eval



对我来说,这是唯一能让它正常工作的方法。

ast.literal\u eval
works:你使用的是什么版本的python?我有Python3.2,但它失败了,但更新到Python3.4仍然有效。Python2.7也有效。
ast.literal\u eval
works:你使用的是什么版本的python?我有Python3.2,但更新到Python3.4失败了Python3.4可以工作。Python2.7也可以工作。
ast.literal\u eval
works:您使用的是什么版本的Python?我有Python3.2,但它失败了,但更新到Python3.4时仍然可以工作。Python2.7也可以工作。
ast.literal\u eval
works:您使用的是什么版本的Python?我有Python3.2,但更新到Python3.4时失败了。Python2.7同样有效。{u'spec1':{u'property1':u'12345',u'property2':1234},u'spec2':{u'property3':u'98754',u'property4':u'val1}这是我作为一名医生得到的result@user20150316哪一步的结果?打印json_dict.json_str看起来还可以。但是json_dict有你所有的这些预编码看起来有点乏味。我们这里有一个完美工作的Python对象,所以为什么不尝试这样评估它们,而不使用所有的json魔法呢?我们可以使用
ast.literal_eval
,这是一个它更稳定。别误会我,我认为每个解决方案都是正确的,只要它能起到作用并使OP满意。我只想指出,有一些更优雅的方法可以做到这一点(我不是特别指我的)。无论如何,这个讨论可能已经结束了。祝你有一个愉快的一天。{u'spec1':{u'property1':u'12345',u'property2':1234},u'spec2':{u'property3':u'98754',u'property4':u'val1'}这是我作为一名医生得到的result@user20150316哪一步的结果?打印json_dict.json_str看起来还可以。但是json_dict有你所有的这些预编码看起来有点乏味。我们这里有一个完美工作的Python对象,所以为什么不尝试这样评估它们,而不使用所有的json魔法呢?我们可以使用
ast.literal_eval
,这是一个它更稳定。别误会我,我认为每个解决方案都是正确的,只要它能起到作用并使OP满意。我只想指出,有一些更优雅的方法可以做到这一点(我不是特别指我的)。无论如何,这个讨论可能已经结束了。祝你有一个愉快的一天。{u'spec1':{u'property1':u'12345',u'property2':1234},u'spec2':{u'property3':u'98754',u'property4':u'val1'}这是我作为一名医生得到的result@user20150316哪一步的结果?打印json_dict.json_str看起来还可以。但是json_dict有你所有的这些预编码看起来有点乏味。我们这里有一个完美工作的Python对象,所以为什么不尝试这样评估它们,而不使用所有的json魔法呢?我们可以使用
ast.literal_eval
,这是一个小米