zAfLu zAfLu - 1 year ago 609
C# Question

Unexpected character encountered while parsing value

currently i got some issues. Im using C# with Json.NET. The issue is that i always get

{"Unexpected character encountered while parsing value: e. Path '', line 0, position 0."}

So they way i'm using is the following. I have a Class which should be saved. The class looks like this:

public class stats
public string time { get; set; }
public string value { get; set; }

public class ViewerStatsFormat
public List<stats> viewerstats { get; set; }
public String version { get; set; }

public ViewerStatsFormat(bool chk)
this.viewerstats = new List<stats>();

One object of this class will be filled and saved with:

File.WriteAllText(tmpfile, JsonConvert.SerializeObject(current), Encoding.UTF8);

The saving part works fine and the file exists and is filled. After that the file will be read back into the class with:


ViewerStatsFormat current = JsonConvert.DeserializeObject<ViewerStatsFormat>(tmpfile);

catch(Exception ex)
//error loging stuff

Now on the current= line comes the exception:

{"Unexpected character encountered while parsing value: e. Path '', line 0, position 0."}

I dont know why this comes. The json file is the following -> Click me im the JSON link

Does anyone have any ideas?

Answer Source

Possibly your are not passing JSON to DeserializeObject.

It looks like from File.WriteAllText(tmpfile,... that type of tmpfile is string that contain path to a file. JsonConvert.DeserializeObject takes JSON value, not file path - so it fails trying to convert something like @"c:\temp\fooo" - which is clearly not JSON.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download