相关疑难解决方法(0)

在Python中解析JSON

我的项目当前正在python中收到一条JSON消息,我需要从中获取一些信息.出于此目的,我们将其设置为字符串中的一些简单JSON:

jsonStr = '{"one" : "1", "two" : "2", "three" : "3"}'
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直在使用列表生成JSON请求,json.dumps但是为了做到与此相反,我认为我需要使用它,json.loads但我没有太多运气.任何人都可以给我一个片段,在上面的例子中输入"2"会返回"2"吗?

python parsing json

254
推荐指数
5
解决办法
48万
查看次数

使用Python在JSON中查找值

我以前成功解析了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 parsing json

7
推荐指数
4
解决办法
4万
查看次数

Python 从字典中写入 JSON 临时文件

我正在开发一个 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)

它带有单引号而不是双引号。

python json temporary-files python-3.x

7
推荐指数
2
解决办法
8118
查看次数

在Python中将字符串转换为JSON?

我正在尝试转换使用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)

python json urllib3

6
推荐指数
1
解决办法
3万
查看次数

在python2.7中将原始字符串转换为JSON对象

我正在查询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)

python json python-2.7

5
推荐指数
1
解决办法
3万
查看次数

将列表转换为json对象

我有一个巨大的文本文件.

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)

我不知道该怎么做.任何帮助.?

python arrays json

4
推荐指数
2
解决办法
4万
查看次数

How to parse JSON Array of objects in python

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?

python json

4
推荐指数
2
解决办法
6万
查看次数

在Django管理中显示JSON字段

我有一个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)

那是没有数据字段。如果我datalist_display其中添加的字段显示的是整个json(丑陋的格式),但我只想要url

任何想法如何做到这一点?

python django json

2
推荐指数
2
解决办法
3237
查看次数

使用 json 加载会在 Python 3.6 中产生“ascii 编解码器无法编码字符”错误

感觉像是一个非常基本的问题,我已经阅读了文档和答案,这表明我的代码应该可以工作。这可能真的是重复的,我错过了一些东西,请删除链接,因为我已经在这上面花了几个小时,感觉很傻。先感谢您。

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 吗?请为我的示例提供最低工作代码。

python python-3.x

1
推荐指数
1
解决办法
3100
查看次数