C#, converting string to Newtonsoft.Json.Linq.JToken
In a C# project I am receiving a Newtonsoft.Json.Linq.JObject
and iterate over its keys, values
public static void info(JObject aInfoJSON)
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
if (it.Value.Equals(?))/*so something*/
here the it.Key
type is string
but the it.Value
is Newtonsoft.Json.Linq.JToken
. passing "something"
never if condition becomes true nor passing "something"
and JToken.parse("something")
throws exception.
Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: s. Path '', line 0, position 0.'
a sample received JObject is like : "name": "systems api", "version": "11.0.7.72", "apiVersion": "v1"
How should I do this comparison ?
c# linq json.net
|
show 3 more comments
In a C# project I am receiving a Newtonsoft.Json.Linq.JObject
and iterate over its keys, values
public static void info(JObject aInfoJSON)
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
if (it.Value.Equals(?))/*so something*/
here the it.Key
type is string
but the it.Value
is Newtonsoft.Json.Linq.JToken
. passing "something"
never if condition becomes true nor passing "something"
and JToken.parse("something")
throws exception.
Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: s. Path '', line 0, position 0.'
a sample received JObject is like : "name": "systems api", "version": "11.0.7.72", "apiVersion": "v1"
How should I do this comparison ?
c# linq json.net
1
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -throws exception
is vague and not helpful
– WelcomeOverflow
Nov 12 at 19:28
What sort of object do you want?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?
– dbc
Nov 12 at 19:31
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iterationit = [name, systems api]
. now any type that I can checkit.Value
issystem api
, string, number, hashcode,...
– Amir-Mousavi
Nov 12 at 19:36
1
Neither"something"
nor"something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)
– elgonzo
Nov 12 at 19:36
|
show 3 more comments
In a C# project I am receiving a Newtonsoft.Json.Linq.JObject
and iterate over its keys, values
public static void info(JObject aInfoJSON)
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
if (it.Value.Equals(?))/*so something*/
here the it.Key
type is string
but the it.Value
is Newtonsoft.Json.Linq.JToken
. passing "something"
never if condition becomes true nor passing "something"
and JToken.parse("something")
throws exception.
Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: s. Path '', line 0, position 0.'
a sample received JObject is like : "name": "systems api", "version": "11.0.7.72", "apiVersion": "v1"
How should I do this comparison ?
c# linq json.net
In a C# project I am receiving a Newtonsoft.Json.Linq.JObject
and iterate over its keys, values
public static void info(JObject aInfoJSON)
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
if (it.Value.Equals(?))/*so something*/
here the it.Key
type is string
but the it.Value
is Newtonsoft.Json.Linq.JToken
. passing "something"
never if condition becomes true nor passing "something"
and JToken.parse("something")
throws exception.
Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: s. Path '', line 0, position 0.'
a sample received JObject is like : "name": "systems api", "version": "11.0.7.72", "apiVersion": "v1"
How should I do this comparison ?
c# linq json.net
c# linq json.net
edited Nov 12 at 19:32
asked Nov 12 at 19:23
Amir-Mousavi
7031030
7031030
1
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -throws exception
is vague and not helpful
– WelcomeOverflow
Nov 12 at 19:28
What sort of object do you want?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?
– dbc
Nov 12 at 19:31
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iterationit = [name, systems api]
. now any type that I can checkit.Value
issystem api
, string, number, hashcode,...
– Amir-Mousavi
Nov 12 at 19:36
1
Neither"something"
nor"something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)
– elgonzo
Nov 12 at 19:36
|
show 3 more comments
1
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -throws exception
is vague and not helpful
– WelcomeOverflow
Nov 12 at 19:28
What sort of object do you want?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?
– dbc
Nov 12 at 19:31
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iterationit = [name, systems api]
. now any type that I can checkit.Value
issystem api
, string, number, hashcode,...
– Amir-Mousavi
Nov 12 at 19:36
1
Neither"something"
nor"something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)
– elgonzo
Nov 12 at 19:36
1
1
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -
throws exception
is vague and not helpful– WelcomeOverflow
Nov 12 at 19:28
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -
throws exception
is vague and not helpful– WelcomeOverflow
Nov 12 at 19:28
What sort of object do you want
?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?– dbc
Nov 12 at 19:31
What sort of object do you want
?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?– dbc
Nov 12 at 19:31
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iteration
it = [name, systems api]
. now any type that I can check it.Value
is system api
, string, number, hashcode,...– Amir-Mousavi
Nov 12 at 19:36
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iteration
it = [name, systems api]
. now any type that I can check it.Value
is system api
, string, number, hashcode,...– Amir-Mousavi
Nov 12 at 19:36
1
1
Neither
"something"
nor "something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)– elgonzo
Nov 12 at 19:36
Neither
"something"
nor "something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)– elgonzo
Nov 12 at 19:36
|
show 3 more comments
1 Answer
1
active
oldest
votes
With JValue you can pick up the value type and implement something along those lines.
public static void info(JObject aInfoJSON){
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
switch(it.Value.Type)
case JToken.String:
if (it.Value.Value<string>().Equals("?"))
/*so something*/
case JToken.Float:
if(it.Value.Value<Float>().Equals(0));
/*so something*/
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
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%2f53268777%2fc-converting-string-to-newtonsoft-json-linq-jtoken%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
With JValue you can pick up the value type and implement something along those lines.
public static void info(JObject aInfoJSON){
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
switch(it.Value.Type)
case JToken.String:
if (it.Value.Value<string>().Equals("?"))
/*so something*/
case JToken.Float:
if(it.Value.Value<Float>().Equals(0));
/*so something*/
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
add a comment |
With JValue you can pick up the value type and implement something along those lines.
public static void info(JObject aInfoJSON){
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
switch(it.Value.Type)
case JToken.String:
if (it.Value.Value<string>().Equals("?"))
/*so something*/
case JToken.Float:
if(it.Value.Value<Float>().Equals(0));
/*so something*/
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
add a comment |
With JValue you can pick up the value type and implement something along those lines.
public static void info(JObject aInfoJSON){
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
switch(it.Value.Type)
case JToken.String:
if (it.Value.Value<string>().Equals("?"))
/*so something*/
case JToken.Float:
if(it.Value.Value<Float>().Equals(0));
/*so something*/
With JValue you can pick up the value type and implement something along those lines.
public static void info(JObject aInfoJSON){
foreach(var it in aInfoJSON)
if (it.Key.Equals("str"))/*do something*/
switch(it.Value.Type)
case JToken.String:
if (it.Value.Value<string>().Equals("?"))
/*so something*/
case JToken.Float:
if(it.Value.Value<Float>().Equals(0));
/*so something*/
answered Nov 12 at 19:44
Alisson Fabiano
913
913
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
add a comment |
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
1
1
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
Thanks, it is exactly what I was searching for
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@elgonzo if you were not successful with your readings, the answer is here
– Amir-Mousavi
Nov 12 at 19:50
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
@Amir-Mousavi, dude, way to make an impression. Just sayin...
– elgonzo
Nov 12 at 19:52
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%2f53268777%2fc-converting-string-to-newtonsoft-json-linq-jtoken%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
1
If you need to traverse the whole thing, deserializing it might be easier. Otherwise -
throws exception
is vague and not helpful– WelcomeOverflow
Nov 12 at 19:28
What sort of object do you want
?
to be? Should it correspond to a string-valued JSON primitive only, or could it be anything at all such as something that serializes to a JSON object or array?– dbc
Nov 12 at 19:31
@Disaffected1070452 edited question and added the exception
– Amir-Mousavi
Nov 12 at 19:33
@dbc any type no matter just want to compare it. edited question. for instance for that JObject received for first iteration
it = [name, systems api]
. now any type that I can checkit.Value
issystem api
, string, number, hashcode,...– Amir-Mousavi
Nov 12 at 19:36
1
Neither
"something"
nor"something"
is valid Json (hence why JToken.Parse complains). Since it seems from your question that you want to manually parse/process Json, i would recommend you (re-)familiarize yourself with the JSON data format.. ;-)– elgonzo
Nov 12 at 19:36