Désérialiser Dynamique de la chaîne Json à l'aide de Newtonsoft JSON.NET
J'ai une chaîne JSON que je reçois de Facebook API, dans lequel j'ai un nœud dont le nom change en fonction de son contenu, par exemple un certain temps, il est de 45, ou 58 etc.
Il pourrait être n'importe quel nombre.
Je veux sa valeur. Comment l'obtenir?
Exemple:
{
"data": [
{
"id": "1492292372_10201810786059989",
"created_time": "2014-04-05T09:00:54+0000"
},
{
"id": "1492292372_10201804679827337",
"created_time": "2014-04-04T07:29:07+0000"
},
{
"id": "1492292372_10201804649306574",
"created_time": "2014-04-04T07:10:33+0000"
},
{
"id": "1492292372_10201801316823264",
"created_time": "2014-04-03T18:31:50+0000"
},
{
"id": "1492292372_10201798962284402",
"created_time": "2014-04-03T06:24:47+0000"
},
{
"message_tags": {
"0": [
{
"id": "1492292372",
"name": "Yawar Sohail",
"type": "user",
"offset": 0,
"length": 12
}
],
"15": [
{
"id": "1489845168",
"name": "Zeeshan Anjum",
"type": "user",
"offset": 15,
"length": 13
}
]
},
"id": "1492292372_10201796274777216",
"created_time": "2014-04-02T17:57:05+0000"
},
{
"id": "1492292372_10201794080482360",
"created_time": "2014-04-02T07:26:23+0000"
},
À l'intérieur de message_tags il y a deux nœuds [0 et 15] ils change dynamiquement en fonction de leurs valeurs de décalage. Je veux des noms, le type et l'id de l'intérieur de ces nœuds.
Ne pouvez-vous pas simplement effectuer une itération sur les paires clé/valeur de la
Quand vous avez écrit ce que je ne pouvais pas le faire et a penser comment pourrait-il être possible. Et maintenant, après 2 ans j'ai utilisé pour ce faire et en passant par cette question et de penser que tout est question de temps
message_tags
tableau? Pourquoi avez-vous besoin de faire référence à la clé, explicitement, si vous ne savez même pas ce qu'ils vont faire quand vous les obtenez à partir de Facebook? Où est la JSON.Net le code que vous utilisez pour parser JSON? Pouvons-nous voir s'il vous plaît? Où en êtes-vous coincé?Quand vous avez écrit ce que je ne pouvais pas le faire et a penser comment pourrait-il être possible. Et maintenant, après 2 ans j'ai utilisé pour ce faire et en passant par cette question et de penser que tout est question de temps
OriginalL'auteur Yawar | 2014-04-07
Vous devez vous connecter pour publier un commentaire.
Vous pouvez désérialiser votre JSON dans un ExpandoObject:
Qui ajoute dynamiquement des membres de votre objet au moment de l'exécution, et vous permet d'itérer sur eux comme décrit dans cette réponse:
De cette façon, vous pouvez effectuer une itération sur
obj.message_tags
pour obtenir les messages individuels, et en obtenir tous les détails, respectivement.converter
variable.OriginalL'auteur aevitas