Deserialize two element string in JSON
I have the following string,
[{ "AnimalName" : "Gatto", "Year" : 5.0 }, { "AnimalName" : "Gatto", "Year" : 6.0 }]
I want to Deserialize this string using the class Animali
public class Animali
{
public string AnimalName { get; set; }
public double Year { get; set; }
}
I use the following code,
Animali json = JsonConvert.DeserializeObject<Animali>(string);
My problem is that having two separate element, I receive the error;
Newtonsoft.Json.JsonReaderException: 'Additional text encountered after finished reading JSON content: ,. Path '', line 1, position 40.'
What is the correct way to deserialize the string? Any suggestion?
P.S. Using one elemente like [{ "AnimalName" : "Gatto", "Year" : 5.0 }] the code works correctly.
c# json json.net
add a comment |
I have the following string,
[{ "AnimalName" : "Gatto", "Year" : 5.0 }, { "AnimalName" : "Gatto", "Year" : 6.0 }]
I want to Deserialize this string using the class Animali
public class Animali
{
public string AnimalName { get; set; }
public double Year { get; set; }
}
I use the following code,
Animali json = JsonConvert.DeserializeObject<Animali>(string);
My problem is that having two separate element, I receive the error;
Newtonsoft.Json.JsonReaderException: 'Additional text encountered after finished reading JSON content: ,. Path '', line 1, position 40.'
What is the correct way to deserialize the string? Any suggestion?
P.S. Using one elemente like [{ "AnimalName" : "Gatto", "Year" : 5.0 }] the code works correctly.
c# json json.net
2
You have multiple animal now, you should be expecting aAnimaliorList<Animali>.
– Xiaoy312
Nov 24 '18 at 1:45
Ohhh,ok. Now is clear. With this code the Json works correctlyList<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data));Thanks so much @Xiaoy312!!
– mems
Nov 24 '18 at 2:04
add a comment |
I have the following string,
[{ "AnimalName" : "Gatto", "Year" : 5.0 }, { "AnimalName" : "Gatto", "Year" : 6.0 }]
I want to Deserialize this string using the class Animali
public class Animali
{
public string AnimalName { get; set; }
public double Year { get; set; }
}
I use the following code,
Animali json = JsonConvert.DeserializeObject<Animali>(string);
My problem is that having two separate element, I receive the error;
Newtonsoft.Json.JsonReaderException: 'Additional text encountered after finished reading JSON content: ,. Path '', line 1, position 40.'
What is the correct way to deserialize the string? Any suggestion?
P.S. Using one elemente like [{ "AnimalName" : "Gatto", "Year" : 5.0 }] the code works correctly.
c# json json.net
I have the following string,
[{ "AnimalName" : "Gatto", "Year" : 5.0 }, { "AnimalName" : "Gatto", "Year" : 6.0 }]
I want to Deserialize this string using the class Animali
public class Animali
{
public string AnimalName { get; set; }
public double Year { get; set; }
}
I use the following code,
Animali json = JsonConvert.DeserializeObject<Animali>(string);
My problem is that having two separate element, I receive the error;
Newtonsoft.Json.JsonReaderException: 'Additional text encountered after finished reading JSON content: ,. Path '', line 1, position 40.'
What is the correct way to deserialize the string? Any suggestion?
P.S. Using one elemente like [{ "AnimalName" : "Gatto", "Year" : 5.0 }] the code works correctly.
c# json json.net
c# json json.net
edited Nov 24 '18 at 10:06
Uwe Keim
27.5k32131212
27.5k32131212
asked Nov 24 '18 at 1:41
memsmems
154
154
2
You have multiple animal now, you should be expecting aAnimaliorList<Animali>.
– Xiaoy312
Nov 24 '18 at 1:45
Ohhh,ok. Now is clear. With this code the Json works correctlyList<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data));Thanks so much @Xiaoy312!!
– mems
Nov 24 '18 at 2:04
add a comment |
2
You have multiple animal now, you should be expecting aAnimaliorList<Animali>.
– Xiaoy312
Nov 24 '18 at 1:45
Ohhh,ok. Now is clear. With this code the Json works correctlyList<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data));Thanks so much @Xiaoy312!!
– mems
Nov 24 '18 at 2:04
2
2
You have multiple animal now, you should be expecting a
Animali or List<Animali>.– Xiaoy312
Nov 24 '18 at 1:45
You have multiple animal now, you should be expecting a
Animali or List<Animali>.– Xiaoy312
Nov 24 '18 at 1:45
Ohhh,ok. Now is clear. With this code the Json works correctly
List<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data)); Thanks so much @Xiaoy312!!– mems
Nov 24 '18 at 2:04
Ohhh,ok. Now is clear. With this code the Json works correctly
List<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data)); Thanks so much @Xiaoy312!!– mems
Nov 24 '18 at 2:04
add a comment |
2 Answers
2
active
oldest
votes
As pointed out, your json is an array, and you need to deserialize it as such
var results = JsonConvert.DeserializeObject<List<Animali>>(string);
Example from the json site
Deserialize a Collection
add a comment |
Try to parse your json string into JToken.
Cast your JToken to List.
Here I created a console app for your demonstration purpose.
class Program
{
static void Main(string args)
{
string json = @"[{ 'AnimalName' : 'Gatto', 'Year' : 5.0 }, { 'AnimalName' : 'Gatto', 'Year' : 6.0 }]";
JToken jToken = JToken.Parse(json); //Point No. 1
List<Animali> animalis = jToken.ToObject<List<Animali>>(); //Point No. 2
foreach (Animali animali in animalis) //Print result
{
Console.WriteLine("AnimalName: " + animali.AnimalName + "t Year: " + animali.Year);
}
Console.ReadLine();
}
}
Output:

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%2f53454480%2fdeserialize-two-element-string-in-json%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
As pointed out, your json is an array, and you need to deserialize it as such
var results = JsonConvert.DeserializeObject<List<Animali>>(string);
Example from the json site
Deserialize a Collection
add a comment |
As pointed out, your json is an array, and you need to deserialize it as such
var results = JsonConvert.DeserializeObject<List<Animali>>(string);
Example from the json site
Deserialize a Collection
add a comment |
As pointed out, your json is an array, and you need to deserialize it as such
var results = JsonConvert.DeserializeObject<List<Animali>>(string);
Example from the json site
Deserialize a Collection
As pointed out, your json is an array, and you need to deserialize it as such
var results = JsonConvert.DeserializeObject<List<Animali>>(string);
Example from the json site
Deserialize a Collection
answered Nov 24 '18 at 2:16
Michael RandallMichael Randall
32.4k63565
32.4k63565
add a comment |
add a comment |
Try to parse your json string into JToken.
Cast your JToken to List.
Here I created a console app for your demonstration purpose.
class Program
{
static void Main(string args)
{
string json = @"[{ 'AnimalName' : 'Gatto', 'Year' : 5.0 }, { 'AnimalName' : 'Gatto', 'Year' : 6.0 }]";
JToken jToken = JToken.Parse(json); //Point No. 1
List<Animali> animalis = jToken.ToObject<List<Animali>>(); //Point No. 2
foreach (Animali animali in animalis) //Print result
{
Console.WriteLine("AnimalName: " + animali.AnimalName + "t Year: " + animali.Year);
}
Console.ReadLine();
}
}
Output:

add a comment |
Try to parse your json string into JToken.
Cast your JToken to List.
Here I created a console app for your demonstration purpose.
class Program
{
static void Main(string args)
{
string json = @"[{ 'AnimalName' : 'Gatto', 'Year' : 5.0 }, { 'AnimalName' : 'Gatto', 'Year' : 6.0 }]";
JToken jToken = JToken.Parse(json); //Point No. 1
List<Animali> animalis = jToken.ToObject<List<Animali>>(); //Point No. 2
foreach (Animali animali in animalis) //Print result
{
Console.WriteLine("AnimalName: " + animali.AnimalName + "t Year: " + animali.Year);
}
Console.ReadLine();
}
}
Output:

add a comment |
Try to parse your json string into JToken.
Cast your JToken to List.
Here I created a console app for your demonstration purpose.
class Program
{
static void Main(string args)
{
string json = @"[{ 'AnimalName' : 'Gatto', 'Year' : 5.0 }, { 'AnimalName' : 'Gatto', 'Year' : 6.0 }]";
JToken jToken = JToken.Parse(json); //Point No. 1
List<Animali> animalis = jToken.ToObject<List<Animali>>(); //Point No. 2
foreach (Animali animali in animalis) //Print result
{
Console.WriteLine("AnimalName: " + animali.AnimalName + "t Year: " + animali.Year);
}
Console.ReadLine();
}
}
Output:

Try to parse your json string into JToken.
Cast your JToken to List.
Here I created a console app for your demonstration purpose.
class Program
{
static void Main(string args)
{
string json = @"[{ 'AnimalName' : 'Gatto', 'Year' : 5.0 }, { 'AnimalName' : 'Gatto', 'Year' : 6.0 }]";
JToken jToken = JToken.Parse(json); //Point No. 1
List<Animali> animalis = jToken.ToObject<List<Animali>>(); //Point No. 2
foreach (Animali animali in animalis) //Print result
{
Console.WriteLine("AnimalName: " + animali.AnimalName + "t Year: " + animali.Year);
}
Console.ReadLine();
}
}
Output:

edited Nov 24 '18 at 10:30
Uwe Keim
27.5k32131212
27.5k32131212
answered Nov 24 '18 at 10:02
er-shoer-sho
6,1472617
6,1472617
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.
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%2f53454480%2fdeserialize-two-element-string-in-json%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
2
You have multiple animal now, you should be expecting a
AnimaliorList<Animali>.– Xiaoy312
Nov 24 '18 at 1:45
Ohhh,ok. Now is clear. With this code the Json works correctly
List<Animali> jsonReal2 = JsonConvert.DeserializeObject <List<Animali>>(Encoding.ASCII.GetString(data));Thanks so much @Xiaoy312!!– mems
Nov 24 '18 at 2:04