how to escape special character colon (':') in jsonpath
Json:
{
"im:rating": {
"label": "1"
}
}
While trying to use Jsonpath in groovy
If i am using this '$.im:rating'
It is showing following error
Caused by: com.nebhale.jsonpath.InvalidJsonPathExpressionException: Illegal
character 'PathCharacter [types=, value=:, position=4]'
$.im:rating
----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=r, position=5]'
$.im:rating
-----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=a, position=6]'
$.im:rating
------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=t, position=7]'
$.im:rating
-------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=i, position=8]'
$.im:rating
--------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=n, position=9]'
$.im:rating
---------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=g, position=10]'
$.im:rating
----------^
at com.nebhale.jsonpath.JsonPath.compile(JsonPath.java:85)
at com.nebhale.jsonpath.JsonPath.read(JsonPath.java:182)
json parsing groovy jsonpath jsonparser
add a comment |
Json:
{
"im:rating": {
"label": "1"
}
}
While trying to use Jsonpath in groovy
If i am using this '$.im:rating'
It is showing following error
Caused by: com.nebhale.jsonpath.InvalidJsonPathExpressionException: Illegal
character 'PathCharacter [types=, value=:, position=4]'
$.im:rating
----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=r, position=5]'
$.im:rating
-----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=a, position=6]'
$.im:rating
------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=t, position=7]'
$.im:rating
-------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=i, position=8]'
$.im:rating
--------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=n, position=9]'
$.im:rating
---------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=g, position=10]'
$.im:rating
----------^
at com.nebhale.jsonpath.JsonPath.compile(JsonPath.java:85)
at com.nebhale.jsonpath.JsonPath.read(JsonPath.java:182)
json parsing groovy jsonpath jsonparser
add a comment |
Json:
{
"im:rating": {
"label": "1"
}
}
While trying to use Jsonpath in groovy
If i am using this '$.im:rating'
It is showing following error
Caused by: com.nebhale.jsonpath.InvalidJsonPathExpressionException: Illegal
character 'PathCharacter [types=, value=:, position=4]'
$.im:rating
----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=r, position=5]'
$.im:rating
-----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=a, position=6]'
$.im:rating
------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=t, position=7]'
$.im:rating
-------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=i, position=8]'
$.im:rating
--------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=n, position=9]'
$.im:rating
---------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=g, position=10]'
$.im:rating
----------^
at com.nebhale.jsonpath.JsonPath.compile(JsonPath.java:85)
at com.nebhale.jsonpath.JsonPath.read(JsonPath.java:182)
json parsing groovy jsonpath jsonparser
Json:
{
"im:rating": {
"label": "1"
}
}
While trying to use Jsonpath in groovy
If i am using this '$.im:rating'
It is showing following error
Caused by: com.nebhale.jsonpath.InvalidJsonPathExpressionException: Illegal
character 'PathCharacter [types=, value=:, position=4]'
$.im:rating
----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=r, position=5]'
$.im:rating
-----^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=a, position=6]'
$.im:rating
------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=t, position=7]'
$.im:rating
-------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=i, position=8]'
$.im:rating
--------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=n, position=9]'
$.im:rating
---------^
Illegal character 'PathCharacter [types=[SIMPLE_NAME_CHARACTER, LETTER, COMPLEX_NAME_CHARACTER], value=g, position=10]'
$.im:rating
----------^
at com.nebhale.jsonpath.JsonPath.compile(JsonPath.java:85)
at com.nebhale.jsonpath.JsonPath.read(JsonPath.java:182)
json parsing groovy jsonpath jsonparser
json parsing groovy jsonpath jsonparser
edited Nov 14 '18 at 6:57
asked Nov 14 '18 at 6:27
kaushik
658
658
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I'm assuming you are using the JsonPath library at:
https://github.com/nebhale/JsonPath
In general it is bad form on stack overflow to not post a proper code example and not refer to the exact library (including version) you are using. Without this information the community is left guessing and doing research on your part.
With that said, my take would be that this is a limitation of that specific JsonPath library and as far as I understand it, it is in this specific case not adhering to the json specification.
The following code:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
when run, results in the error you are describing.
If we instead try using the built-in groovy JsonSlurper
:
import groovy.json.*
def json = '''
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
we get:
~> groovy use_slurper_instead.groovy
value: [label:1]
i.e. there are no problems using keys with :
characters in them. I would raise an issue with JsonPath.
add a comment |
We can access alternatively with the following
'$..label'
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53294274%2fhow-to-escape-special-character-colon-in-jsonpath%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I'm assuming you are using the JsonPath library at:
https://github.com/nebhale/JsonPath
In general it is bad form on stack overflow to not post a proper code example and not refer to the exact library (including version) you are using. Without this information the community is left guessing and doing research on your part.
With that said, my take would be that this is a limitation of that specific JsonPath library and as far as I understand it, it is in this specific case not adhering to the json specification.
The following code:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
when run, results in the error you are describing.
If we instead try using the built-in groovy JsonSlurper
:
import groovy.json.*
def json = '''
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
we get:
~> groovy use_slurper_instead.groovy
value: [label:1]
i.e. there are no problems using keys with :
characters in them. I would raise an issue with JsonPath.
add a comment |
I'm assuming you are using the JsonPath library at:
https://github.com/nebhale/JsonPath
In general it is bad form on stack overflow to not post a proper code example and not refer to the exact library (including version) you are using. Without this information the community is left guessing and doing research on your part.
With that said, my take would be that this is a limitation of that specific JsonPath library and as far as I understand it, it is in this specific case not adhering to the json specification.
The following code:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
when run, results in the error you are describing.
If we instead try using the built-in groovy JsonSlurper
:
import groovy.json.*
def json = '''
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
we get:
~> groovy use_slurper_instead.groovy
value: [label:1]
i.e. there are no problems using keys with :
characters in them. I would raise an issue with JsonPath.
add a comment |
I'm assuming you are using the JsonPath library at:
https://github.com/nebhale/JsonPath
In general it is bad form on stack overflow to not post a proper code example and not refer to the exact library (including version) you are using. Without this information the community is left guessing and doing research on your part.
With that said, my take would be that this is a limitation of that specific JsonPath library and as far as I understand it, it is in this specific case not adhering to the json specification.
The following code:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
when run, results in the error you are describing.
If we instead try using the built-in groovy JsonSlurper
:
import groovy.json.*
def json = '''
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
we get:
~> groovy use_slurper_instead.groovy
value: [label:1]
i.e. there are no problems using keys with :
characters in them. I would raise an issue with JsonPath.
I'm assuming you are using the JsonPath library at:
https://github.com/nebhale/JsonPath
In general it is bad form on stack overflow to not post a proper code example and not refer to the exact library (including version) you are using. Without this information the community is left guessing and doing research on your part.
With that said, my take would be that this is a limitation of that specific JsonPath library and as far as I understand it, it is in this specific case not adhering to the json specification.
The following code:
@Grab('com.nebhale.jsonpath:jsonpath:1.2')
import com.nebhale.jsonpath.*
def path = JsonPath.compile('$.im:rating')
when run, results in the error you are describing.
If we instead try using the built-in groovy JsonSlurper
:
import groovy.json.*
def json = '''
{
"im:rating": {
"label": "1"
}
}'''
def parsed = new JsonSlurper().parseText(json)
println "value: ${parsed['im:rating']}"
we get:
~> groovy use_slurper_instead.groovy
value: [label:1]
i.e. there are no problems using keys with :
characters in them. I would raise an issue with JsonPath.
answered Nov 14 '18 at 9:38
Matias Bjarland
1,137611
1,137611
add a comment |
add a comment |
We can access alternatively with the following
'$..label'
add a comment |
We can access alternatively with the following
'$..label'
add a comment |
We can access alternatively with the following
'$..label'
We can access alternatively with the following
'$..label'
answered Nov 14 '18 at 18:42
kaushik
658
658
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53294274%2fhow-to-escape-special-character-colon-in-jsonpath%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown