jsonpath_rw for Python - 解析特定键
jsonpath_rw for Python - parsing a specific key
我正在进行 API 测试。所以我有一些回应 json。我想从中获取所有 "firstName"。为此,我使用了 jsonpath_rw 工具。但是在解析过程中我得到了很多我不需要的额外信息。
这是我的回复:
"_embedded": {
"customer": [
{
"firstName": "Eve",
"lastName": "Berger",
"username": "Eve_Berger",
"id": "57a98d98e4b00679b4a830af",
"_links": {
"addresses": {
"href": "http://user/customers/57a98d98e4b00679b4a830af/addresses"
},
"cards": {
"href": "http://user/customers/57a98d98e4b00679b4a830af/cards"
},
"customer": {
"href": "http://user/customers/57a98d98e4b00679b4a830af"
},
"self": {
"href": "http://user/customers/57a98d98e4b00679b4a830af"
}
}
},
{
"firstName": "User",
"lastName": "Name",
"username": "user",
"id": "57a98d98e4b00679b4a830b2",
"_links": {
"addresses": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2/addresses"
},
"cards": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2/cards"
},
"customer": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2"
},
"self": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2"
}
}
},
{
"firstName": "TestName",
"lastName": "TestSurname",
"username": "test12",
"id": "5cf7f4bcee11cb0001ecdb07",
"_links": {
"addresses": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses"
},
"cards": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07/cards"
},
"customer": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07"
},
"self": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07"
}
}
}
]
}
}
我希望解析所有 "firstName" 值并只看到这样的结果:["Eve"、"User"、"TestName"]
当我在这里 (http://jsonpath.herokuapp.com) 和我的 json 尝试它并使用路径“$..firstName”时,它工作正常。
但在我的 Python 代码中,它看起来不太好,并且有大量额外数据的如此大的响应。
有人可以帮我解决我必须解决的问题吗?
因为现在我解析后的响应看起来与我预期的不一样。我只想看到这三个名字("Eve"、"User"、"TestName"),但这是我现在拥有的:
DatumInContext(value='Eve',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x10620a5f8>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None))))),
DatumInContext(value='User',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x106245908>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None))))),
DatumInContext(value='TestName',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x106245cf8>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None)))))
]
这是我的 Python 代码:
from jsonpath_rw import parse
def match(self, response):
json = response.json()
value = parse("$..firstName").find(json)
print(json)
print(value)
print(len(value))
value 是包含找到的所有对象的列表。列表中的每个项目都有一个带有结果的值,如果没有找到则该值为空。
print([x.value for x in found])
结果:
['Eve', 'User', 'TestName']
希望对您有所帮助。
我正在进行 API 测试。所以我有一些回应 json。我想从中获取所有 "firstName"。为此,我使用了 jsonpath_rw 工具。但是在解析过程中我得到了很多我不需要的额外信息。
这是我的回复:
"_embedded": {
"customer": [
{
"firstName": "Eve",
"lastName": "Berger",
"username": "Eve_Berger",
"id": "57a98d98e4b00679b4a830af",
"_links": {
"addresses": {
"href": "http://user/customers/57a98d98e4b00679b4a830af/addresses"
},
"cards": {
"href": "http://user/customers/57a98d98e4b00679b4a830af/cards"
},
"customer": {
"href": "http://user/customers/57a98d98e4b00679b4a830af"
},
"self": {
"href": "http://user/customers/57a98d98e4b00679b4a830af"
}
}
},
{
"firstName": "User",
"lastName": "Name",
"username": "user",
"id": "57a98d98e4b00679b4a830b2",
"_links": {
"addresses": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2/addresses"
},
"cards": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2/cards"
},
"customer": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2"
},
"self": {
"href": "http://user/customers/57a98d98e4b00679b4a830b2"
}
}
},
{
"firstName": "TestName",
"lastName": "TestSurname",
"username": "test12",
"id": "5cf7f4bcee11cb0001ecdb07",
"_links": {
"addresses": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses"
},
"cards": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07/cards"
},
"customer": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07"
},
"self": {
"href": "http://user/customers/5cf7f4bcee11cb0001ecdb07"
}
}
}
]
}
}
我希望解析所有 "firstName" 值并只看到这样的结果:["Eve"、"User"、"TestName"] 当我在这里 (http://jsonpath.herokuapp.com) 和我的 json 尝试它并使用路径“$..firstName”时,它工作正常。 但在我的 Python 代码中,它看起来不太好,并且有大量额外数据的如此大的响应。 有人可以帮我解决我必须解决的问题吗?
因为现在我解析后的响应看起来与我预期的不一样。我只想看到这三个名字("Eve"、"User"、"TestName"),但这是我现在拥有的:
DatumInContext(value='Eve',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x10620a5f8>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None))))),
DatumInContext(value='User',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x106245908>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None))))),
DatumInContext(value='TestName',
path=Fields('firstName'),
context=DatumInContext(value={
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
},
path=<jsonpath_rw.jsonpath.Indexobjectat0x106245cf8>,
context=DatumInContext(value=[
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
],
path=Fields('customer'),
context=DatumInContext(value={
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
},
path=Fields('_embedded'),
context=DatumInContext(value={
'_embedded': {
'customer': [
{
'firstName': 'Eve',
'lastName': 'Berger',
'username': 'Eve_Berger',
'id': '57a98d98e4b00679b4a830af',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830af'
}
}
},
{
'firstName': 'User',
'lastName': 'Name',
'username': 'user',
'id': '57a98d98e4b00679b4a830b2',
'_links': {
'addresses': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/addresses'
},
'cards': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2/cards'
},
'customer': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
},
'self': {
'href': 'http://user/customers/57a98d98e4b00679b4a830b2'
}
}
},
{
'firstName': 'TestName',
'lastName': 'TestSurname',
'username': 'test12',
'id': '5cf7f4bcee11cb0001ecdb07',
'_links': {
'addresses': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/addresses'
},
'cards': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07/cards'
},
'customer': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
},
'self': {
'href': 'http://user/customers/5cf7f4bcee11cb0001ecdb07'
}
}
}
]
}
},
path=Root(),
context=None)))))
]
这是我的 Python 代码:
from jsonpath_rw import parse
def match(self, response):
json = response.json()
value = parse("$..firstName").find(json)
print(json)
print(value)
print(len(value))
value 是包含找到的所有对象的列表。列表中的每个项目都有一个带有结果的值,如果没有找到则该值为空。
print([x.value for x in found])
结果:
['Eve', 'User', 'TestName']
希望对您有所帮助。