Comment faire pour convertir un objet dynamique de chaîne JSON en c#?
J'ai le texte suivant dynamique de l'objet que je reçois d'un tiers de la bibliothèque:
IOrderStore os = ss.GetService<IOrderStore>();
IOrderInfo search = os.Orders.Where(t => t.Number == "test").FirstOrDefault();
IOrder orderFound = os.OpenOrder(search, true);
dynamic order = (dynamic)orderFound;
dynamic requirements = order.Title.Commitments[0].Requirements;
J'ai besoin d'analyser une chaîne JSON.
J'ai essayé ceci (à l'aide JSON.net):
string jsonString = JsonConvert.SerializeObject(requirements);
return jsonString;
Mais j'en ai apparemment corrompu chaîne JSON, comme ci-dessous:
[{"$id":"1"},{"$id":"2"},{"$id":"3"},{"$id":"4"},{"$id":"5"},{"$id":"6"},{"$id":"7"},{"$id":"8"},{"$id":"9"},{"$id":"10"},{"$id":"11"},{"$id":"12"},{"$id":"13"},{"$id":"14"},{"$id":"15"}]
L'objet contient plusieurs propriétés, et pas seulement les "id".
Des conseils?
montrez votre objet dans lequel vous voulez convertir
'string json = Newtonsoft.Json.JsonConvert.SerializeObject(foo);'
oui s'il vous plaît montrer le chemin
Ce que vous essayez de faire semble parfaitement correct. Voir cet exemple. Nous pour voir la decalaration/définition de la
désolé, mais vos modifications ne sont pas aider. Ce n'
'string json = Newtonsoft.Json.JsonConvert.SerializeObject(foo);'
oui s'il vous plaît montrer le chemin
Requirements
est créé parce que quand tout simplement de tester une liste d'objets dynamiques et chacun avec plusieurs champs, ils sont tous sérialisésCe que vous essayez de faire semble parfaitement correct. Voir cet exemple. Nous pour voir la decalaration/définition de la
Requirements
de la propriété afin de vous aider.désolé, mais vos modifications ne sont pas aider. Ce n'
Console.WriteLine(order.Title.Commitments[0].Requirements.GetType());
impression? Nous montrer que la chaîne, s'il vous plaît. Aussi, vous dire que vous êtes à l'aide d'une bibliothèque tierce. La bibliothèque? Est-il de la documentation disponible? Et le plus important: comment vous savez le retour JSON est "corrompus", comme vous dites? Quel est votre référence? Ce exactement attendez-vous à voir?
OriginalL'auteur user3378165 | 2016-08-08
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé d'utiliser
var
au lieu dedynamic
?Quand vous voulez seulement désérialiser
requirements
sans rien faire d'autre avec elle alors il n'est pas nécessaire de l'utiliserdynamic
allié.Ouais, parlez au gars qui soutiennent que la 3ème partie de la bibliothèque. Ma conjecture est qu'ils ont fait une erreur en sous-classement
DynamicObject
.C'est ce que je pense aussi... je leur ai envoyé, nous allons voir.. Merci pour votre aide!
Et avez-vous vérifié que signifie " var " signifie réellement pour le compilateur??
OriginalL'auteur Good Night Nerd Pride
Essayez d'utiliser Convertir.ToString() de la manière suivante le code pour convertir "dynamique" objet "string" -
OriginalL'auteur Sayit