Attend élément "racine" de l'espace de noms ".. Rencontrés 'None' avec le nom " espace de noms "
J'ai été à la recherche pour les 4 dernières heures de façons sur la façon de s'attaquer à ce problème, et je n'ai pas encore trouvé une solution.
Je suis en train de construire une API .NET et souhaite parser JSON de l'information qui est envoyé à partir d'appels d'API.
Mon approche actuelle est le suivant:
private void PostNewPlayer(HttpContext context)
{
//Create the serializer
context.Request.InputStream.Position = 0;
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(ASPlayer));
ASPlayer p = (ASPlayer)json.ReadObject(context.Request.InputStream); <-- Exception here
Int32 playerId = ASPlayerManager.InsertNewPlayer(p);
}
Mais actuellement, j'obtiens une Exception à la ligne indiquée. J'ai pris soin de ma classe implémente la bonne sérialisation des espaces de noms:
using System.Runtime.Serialization;
using System.IO;
using System.Runtime.Serialization.Json;
La classe je suis en train de sérialiser a eu son DataContract et Membre de champs de définir en conséquence:
[DataContract]
public class ASPlayer
{
[DataMember]
private string _name;
public string player_name
{
get { return _name; }
set { _name = value; }
}
[DataMember]
private string _location;
public string player_location
{
get { return _location; }
set { _location = value; }
}
//Other vars
...
public ASPlayer(string name, string location)
{
_name = name;
_location = location;
}
}
Cependant, lorsque j'utilise un client HTTP comme Facteur pour faire une demande, je reçois le message d'erreur indiqué dans la question du titre
OriginalL'auteur Alex | 2015-03-30
Vous devez vous connecter pour publier un commentaire.
Je pense que vous avez sélectionné la mauvaise variables, ce:
devrait être ceci:
Il serait utile si vous postez votre JSON
Je pense que j'ai juste repéré ce que j'ai fait de mal. Im envoyer les paramètres dans l'en-tête, je dois être l'affichage d'un objet json. Oups!
la commande n'est important que pour
DataContractSerializer
.DataContractJsonSerializer
ignore ordonnance sur la propriété depuis JSON propriétés de l'objet sont définies de façon à être non ordonnée.à droite, j'ai confondu que
OriginalL'auteur thumbmunkeys
La réponse a été une très grave erreur de ma part, mais pour ceux qui le rencontre à l'avenir de cette assurez-vous d'envoyer votre objet JSON en Facteur par le biais de la Crue de terrain. Dans mon cas, je l'ai fait simplement:
Cela fixe, il
OriginalL'auteur Alex