我有一个有效的json文件(在在线验证器上检查过了)。我正在使用tExtractJsonFields来提取数据。当我使用JsonPath时,一切都很好,但是当我尝试使用xPath时,我得到了这个错误:
The content of elements must consist of well-formed character data or markup. Nested exception: The content of elements must consist of well-formed character data or markup.我需要使用xpath,因为我正在对子元素进行循环,但我还希望获得一个根元素,即ID。使用xpath,我可以使用"../../id“来实现,但是在jsonpath中,我不能返回到根级别。求求你我需要帮助。
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 1,
"total": 1580,
"issues": [
{
"expand": "operations,versionedRepresentations,editmeta,changelog,transitions,renderedFields",
"id": "34202",
"self": "https://...",
"key": "DATA-1955",
"changelog": {
"startAt": 0,
"maxResults": 4,
"total": 4,
"histories": [
{
"id": "292501",
"author": {
"self": "https://tlassian.net/rest/api/2/user?accountId=.....",
"accountId": "651121611612",
"emailAddress": "test@sdfsdf.com",
"avatarUrls": {
"48x48": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"24x24": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"16x16": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"32x32": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png"
},
"displayName": "test test",
"active": true,
"timeZone": "Asia/Beirut",
"accountType": "atlassian"
},
"created": "2020-11-12T14:42:42.397+0200",
"items": [
{
"field": "resolution",
"fieldtype": "jira",
"fieldId": "resolution",
"from": null,
"fromString": null,
"to": "10000",
"toString": "Done"
},
{
"field": "status",
"fieldtype": "jira",
"fieldId": "status",
"from": "3",
"fromString": "In Progress",
"to": "10001",
"toString": "Done"
}
]
},
{
"id": "291885",
"author": {
"self": "https://......",
"accountId": "5f8ede6e9csdwd31840075146dc139b",
"emailAddress": "test@sdfsdf.com",
"avatarUrls": {
"48x48": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"24x24": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"16x16": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png",
"32x32": "https://secure.gravatar.com/avatar/a1440042a929a36696d609892772a08e?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FTH-2.png"
},
"displayName": "test test",
"active": true,
"timeZone": "Asia/test",
"accountType": "atlassian"
},
"created": "2020-11-12T13:40:13.232+0200",
"items": [
{
"field": "status",
"fieldtype": "jira",
"fieldId": "status",
"from": "10000",
"fromString": "To Do",
"to": "3",
"toString": "In Progress"
}
]
},
{
"id": "291776",
"author": {
"self": "https://..........",
"accountId": "156516146865",
"emailAddress": "test@sdfsdf.com",
"avatarUrls": {
"48x48": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"24x24": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"16x16": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"32x32": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png"
},
"displayName": "test test",
"active": true,
"timeZone": "Asia/test",
"accountType": "atlassian"
},
"created": "2020-11-12T13:36:39.861+0200",
"items": [
{
"field": "assignee",
"fieldtype": "jira",
"fieldId": "assignee",
"from": null,
"fromString": null,
"to": "5f8ede6e9c31840076dc139b",
"toString": "Test test",
"tmpFromAccountId": null,
"tmpToAccountId": "5f8ede6e9c31840076dc139b"
}
]
},
{
"id": "289995",
"author": {
"self": "https://.........",
"accountId": "asdasd",
"emailAddress": "test@sdfsdf.com",
"avatarUrls": {
"48x48": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"24x24": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"16x16": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png",
"32x32": "https://secure.gravatar.com/avatar/2e1767eb017dcb6bd02f8131f6b3613d?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FYM-6.png"
},
"displayName": "test test",
"active": true,
"timeZone": "Asia/sdsdsd",
"accountType": "atlassian"
},
"created": "2020-11-12T12:04:00.083+0200",
"items": [
{
"field": "Parent",
"fieldtype": "jira",
"from": null,
"fromString": null,
"to": "34194",
"toString": "DATA-1952"
}
]
}
]
}
}
]}
这是我的json文件。您告诉我上传我使用的xpath,但问题是错误不在xpath中。
我循环"/issues“并将"key”提取为一个字段
发布于 2020-11-13 23:27:10
我不知道您想提取哪些字段,但使用jsonpath是可行的,即使您有子元素并希望获得根元素。
使用talend json元数据来解析您的json文件(在Repository>Metadata>Json文件中)。
把你的循环放在你的子元素上(假设是"$.issues[*].changelog.histories[*].items[*]" ),你应该能够在这个子元素中提取所有你想要的字段,还有根元素。
https://stackoverflow.com/questions/64818363
复制相似问题