我的项目当前正在python中收到一条JSON消息,我需要从中获取一些信息.出于此目的,我们将其设置为字符串中的一些简单JSON:
jsonStr = '{"one" : "1", "two" : "2", "three" : "3"}'
Run Code Online (Sandbox Code Playgroud)
到目前为止,我一直在使用列表生成JSON请求,json.dumps但是为了做到与此相反,我认为我需要使用它,json.loads但我没有太多运气.任何人都可以给我一个片段,在上面的例子中输入"2"会返回"2"吗?
我以前成功解析了JSON文件中的数据,但现在我遇到了我想要实现的功能的问题.我有一个JSON中的名字,识别号和生日的列表.我想用Python获得的是能够让用户输入一个名称并检索他的识别号和生日(如果有的话).
这是我的JSON示例文件:
[
{
"id_number": "SA4784",
"name": "Mark",
"birthdate": null
},
{
"id_number": "V410Z8",
"name": "Vincent",
"birthdate": "15/02/1989"
},
{
"id_number": "CZ1094",
"name": "Paul",
"birthdate": "27/09/1994"
}
]
Run Code Online (Sandbox Code Playgroud)
要清楚,我想输入"V410Z8"并获得他的名字和他的出生日期.
我试图在Python中编写一些代码,但我只能成功搜索"id_number"而不是"id_number"中的内容,例如"V410Z8".
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
database = "example.json"
data = json.loads(open(database).read())
id_number = data[0]["id_number"]
print id_number
Run Code Online (Sandbox Code Playgroud)
谢谢你们的支持,伙计:)
我正在开发一个 python(3.6) 项目,在该项目中我需要从 Python 字典中编写一个 JSON 文件。
这是我的字典:
{'deployment_name': 'sec_deployment', 'credentials': {'type': 'type1', 'project_id': 'id_001',}, 'project_name': 'Brain', 'project_id': 'brain-183103', 'cluster_name': 'numpy', 'zone_region': 'europe-west1-d', 'services': 'Single', 'configuration': '', 'routing': ''}
Run Code Online (Sandbox Code Playgroud)
我需要将credentials密钥写入JSON 文件。
这是我尝试过的方法:
tempdir = tempfile.mkdtemp()
saved_umask = os.umask(0o077)
path = os.path.join(tempdir)
cred_data = data['credentials']
with open(path + '/cred.json', 'a') as cred:
cred.write(cred_data)
credentials = prepare_credentials(path + '/cred.json')
print(credentials)
os.umask(saved_umask)
shutil.rmtree(tempdir)
Run Code Online (Sandbox Code Playgroud)
它不是在写一个 JSON 格式的文件,那么生成的文件是:
{
'type': 'type1',
'project_id': 'id_001',
}
Run Code Online (Sandbox Code Playgroud)
它带有单引号而不是双引号。
我正在尝试转换使用urllib3从http请求生成的字符串.
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
data = json.load(data)
File "C:\Python27\Lib\json\__init__.py", line 286, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
>>> import urllib3
>>> import json
>>> request = #urllib3.request(method, url, fields=parameters)
>>> data = request.data
Run Code Online (Sandbox Code Playgroud)
现在......当尝试以下内容时,我得到了这个错误......
>>> json.load(data) # generates the error
>>> json.load(request.read()) # generates the error
Run Code Online (Sandbox Code Playgroud)
跑步type(data),type(data.read())都回归<type 'str'>
data = '{"subscriber":"0"}}\n'
Run Code Online (Sandbox Code Playgroud) 我正在查询PostgreSQL服务器以获取数据,并且特定json对象实际上以字符串形式返回.我试过跟随,但没有给出正确的输出:(它的ipython输出)
test
Out[103]: '{"max"=>28, "min"=>18, "custom"=>[{"id"=>"12345","name"=>"test_pur"}]}'
In[104]: test.replace("=>",":")
Out[104]: '{"max":28, "min":18, "custom":[{"id":"12345", "name":"test_pur"}]}'
In[105]: j_obj = json.dumps(test)
In[106]: j_obj
Out[106]: '"{\\"max\\"=>28, \\"min\\"=>18, \\"custom\\"=>[{\\"id\\"=>\\"12345\\", \\"name\\"=>\\"test_pur\\"}]}"'
Run Code Online (Sandbox Code Playgroud)
如何通过识别":"符号将字符串转换为json?
当我尝试"json.loads"时.以下是错误:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-12-a7562191decf>", line 1, in <module>
data = json.loads(temp)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, …Run Code Online (Sandbox Code Playgroud) 我有一个巨大的文本文件.
line 1
line 2
line 3
...
Run Code Online (Sandbox Code Playgroud)
我已将其转换为列表数组:
[['String 1'],['String 2'],['String 3'],['String 4'],['String 5'],
['String 6'],['String 7'],['String 8'],['String 9'],['String 9'],
['String 10'], ...]
Run Code Online (Sandbox Code Playgroud)
我想将此列表转换为JSON对象,如下所示:
[{'title1': 'String 1', 'title2': 'String 2', ... , 'title7': 'String 7'},
{'title1': 'String 8', ..., 'title7': 'String 14'}, ...]
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.任何帮助.?
I received the following JSON Array from the POST response of an HTTP request:
[{
"username": "username_1",
"first_name": "",
"last_name": "",
"roles": "system_admin system_user",
"locale": "en",
"delete_at": 0,
"update_at": 1511335509393,
"create_at": 1511335500662,
"auth_service": "",
"email": "userid_1@provider_1.com",
"auth_data": "",
"position": "",
"nickname": "",
"id": "short-string-of-random-characters-1"
}, {
...
}
<more such objects>..]
Run Code Online (Sandbox Code Playgroud)
Given that typeof(response) gives me requests.models.Response, how can I parse it in Python?
我有一个Django模型,如下所示:
class BodyHeight(models.Model):
seats = models.ForeignKey(to=Seats)
name = models.CharField(max_length=127, null=True, blank=True)
key = models.CharField(max_length=100, null=True)
data = models.TextField(null=True, blank=True)
class Meta:
verbose_name_plural = "Body heights"
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
然后在data字段中存储json数据,如下所示:
{"url": "https://some_url=/BE?category=COMMERCIAL, "images": ["url_to_some_image"]}
Run Code Online (Sandbox Code Playgroud)
我想仅在Django管理面板中显示该字段的网址。
我现在有:
class BodyHeightAdmin(admin.ModelAdmin):
search_fields = ('name', )
list_display = ('id', 'name', 'key', )
list_display_links = ('id', 'name', 'key', )
admin.site.register(BodyHeight, BodyHeightAdmin)
Run Code Online (Sandbox Code Playgroud)
那是没有数据字段。如果我data在list_display其中添加的字段显示的是整个json(丑陋的格式),但我只想要url。
任何想法如何做到这一点?
感觉像是一个非常基本的问题,我已经阅读了文档和答案,这表明我的代码应该可以工作。这可能真的是重复的,我错过了一些东西,请删除链接,因为我已经在这上面花了几个小时,感觉很傻。先感谢您。
Python 3.6 代码:
import json
print( json.loads( '{"text": \"\\u0444\\u044b\\u0432\\u0430\"}' ) )
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
Traceback (most recent call last):
File "test2.py", line 28, in <module>
print( json.loads( '{"txt": \"\\u0444\\u044b\\u0432\\u0430\"}' ) )
UnicodeEncodeError: 'ascii' codec can't encode characters in position 9-12: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我有一个印象,我可以做到
jsn = json.dumps( my_dict )
# and later call
json.loads( jsn )
Run Code Online (Sandbox Code Playgroud)
我会找回我原来的字典,但这不适用于 unicode 字符。
我可以使用 json.loads 将包含 unicode 字符的字符串转换回 python dict 吗?请为我的示例提供最低工作代码。