Reputation: 386
Im trying to parse a JSON with Newtonsoft.JSON package.
string jsonData =
"{\"name\":\"olga\",\"tokenmode\":\"bearer\",\"expires\":9483,\"refresh\":\"{\\\"Id\\\":\\\"alla-ieih-8493j-2455d\\\",\\\"Id\\\":\\\"94094-3838485-kdooj4u\\\"}\",\"status\":\"10\",\"namestatus\":\"5\"}";
dynamic aa = JsonConvert.DeserializeObject(jsonData);
var name = aa.name.tostring(); //Outputs olga
var id = aa.refresh.Id.ToString(); //Gives error
Question is how can i access the Id data?
Upvotes: 1
Views: 374
Reputation: 5203
Create a class:
class Player
{
public Guid ID { get; set; }
public string Name { get; set; }
public TimeSpan Elapsed { get; set; }
[JsonConstructor]
public Player(Guid id, string name, TimeSpan elapsed)
{
this.ID = id;
this.Name = name;
this.Elapsed = elapsed;
}
public Player(string name, TimeSpan elapsed)
{
this.ID = Guid.NewGuid();
this.Name = name;
this.Elapsed = elapsed;
}
}
Ask for object:
Player player = JsonConvert.DeserializeObject<Player>(jsonstring);
Ask for list of objects:
List<Player> players = JsonConvert.DeserializeObject<List<Player>>(jsonstring);
Upvotes: 1
Reputation: 94
You'll have to add a
dynamic refresh = JsonConvert.DeserializeObject(aa.refresh.ToString());
Upvotes: 4