Je configure le journal d'audit pour l'API Web. Ici, je voudrais supprimer la propriété de mot de passe de la chaîne json pour des raisons de sécurité. Je ne veux pas enregistrer le mot de passe de connexion pour l'API de connexion.
Json / Request Payload:
var payload = JArray.Parse(objQueue.payload); payload.Remove("password");
J'ai essayé avec le code ci-dessous:
{"code":"medics1","username":"admin","password":"password"}
3 Réponses :
Vous devriez utiliser l'analyse des projets ici. Le code ci-dessous du site newtonsoft devrait être utile
rss.Property(âpasswordâ).Remove();
Vous n'avez pas d'objet nommé, vous pouvez donc appeler directement
string json = @"{ 'channel': { 'title': 'Star Wars', 'link': 'http://www.starwars.com', 'description': 'Star Wars blog.', 'obsolete': 'Obsolete value', 'item': [] } }"; JObject rss = JObject.Parse(json); JObject channel = (JObject)rss["channel"]; channel.Property("obsolete").Remove();
Une autre approche alternative est pour désérialiser dans une classe qui ignore la propriété du mot de passe, puis la sérialiser à nouveau.
J'espère que cela vous aidera.
Vous aviez presque raison, il vous suffit de désérialiser en un objet au lieu d'un tableau basé sur votre chaîne JSON.
{ "code": "medics1", "username": "admin" }
Sortie:
string str = @"{'code':'medics1','username':'admin','password':'password'}"; JObject j = JsonConvert.DeserializeObject<JObject>(str); j.Remove("password"); Console.WriteLine(j.ToString(Formatting.Indented));
Vous êtes fermé à votre objectif. Vous avez juste besoin d'un petit changement dans votre code.
Vous utilisez JArray
et ceci est utilisé pour analyser les json qui commencent et se terminent par [...]
pas pour {...}
Et votre json est un JObject
qui signifie son début et sa fin par {...} code >
Utilisez simplement JObject
au lieu de JArray
et cela fonctionnera
string json = @"{ 'code':'medics1','username':'admin','password':'password'}"; JObject jObject = JObject.Parse(json); jObject.Remove("password"); string outputJson = jObject.ToString();
Sortie: (à partir du débogueur)
Pouvez-vous nous fournir ce que vous avez essayé jusqu'à présent ...? Tout code ou implémentation
Veuillez vérifier la question mise à jour
@NayanRudani, j'ajoute ma réponse ci-dessous avec une capture d'écran de sortie. Essayez-le et faites-le moi savoir :)