Comment faire pour supprimer d: et __ _ _ type de réponse JSON pour les ASP de service web
J'ai trouvé plusieurs solutions pour cela sur le web qui sont pour le service web WCF et pas ASP web service.
Actuellement, je suis de retour d'une réponse JSON qui dit:
{"d":[{"__type":"NetworkFuzzWebSvc.Sessions","BaseUri":"http://localbox","SessionId":"43b8716f-40ab-43bf-8311-575c2ecd2730}]}
J'en ai besoin pour le retour:
{"Sessions":["BaseUri":"http://localbox","SessionId":"43b8716f-40ab-43bf-8311-575c2ecd2730}]}
Voici une copie de la webservice code que j'utilise (NetFuzzWebSvc.asmx):
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
namespace NetworkFuzzWebSvc
{
public class Sessions
{
public string BaseUri;
public string SessionId;
}
///<summary>
///Summary description for NetFuzzJson
///</summary>
[WebService(Namespace = "http://localbox")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class NetFuzzJson : WebService
{
List<Sessions> Sessions = new List<Sessions>
{
new Sessions{
BaseUri = "http://localbox/",
SessionId="43b8716f-40ab-43bf-8311-575c2ecd2730"
}
};
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<Sessions> GetAllSessions()
{
return Sessions;
}
}
Que quelqu'un a une solution à cela?
Merci!
OriginalL'auteur Nico | 2011-12-08
Vous devez vous connecter pour publier un commentaire.
Pour supprimer les "d" et "__type":
.svc
.config
Js:
automaticFormatSelectionEnabled
de faux dans ma config sinon j'ai fini avec un XML resposne plutôt que d'un JSON, sinon cette travaillé un régal.OriginalL'auteur Gildor
Je ne pense pas que vous le pouvez. Je pense que c'est le format du json retourné.
Vous pouvez essayer de se débarrasser de la ResponseFormat peu et retourner une chaîne de caractères et l'utilisation
Ou encore mieux utiliser le JSON.Net des bibliothèques.
Aussi regarder Comment ne pas sérialiser l' __type de propriété sur les objets JSON pour comment faire pour supprimer l' __type bit.
OriginalL'auteur Dave Walker
Si vous utilisez ServiceStack.Texte JSON Sérialiseur vous avez juste besoin d':
Cette fonctionnalité a été automatiquement ajouté dans v2.28, mais le code ci-dessus conserve hors de la sérialisation. Vous pouvez également modifier ce comportement par
Type
avec:OriginalL'auteur Brett Veenstra