Dire json .net pour écrire un seul devis plutôt qu'un double citation lors de la sérialisation d'objets
Lors de l'appel de Newtonsoft.Json.JsonConvert.SerializeObject(myObject)
je reçois les clés et les valeurs entre guillemets comme ceci:
{"key" : "value"}
Je voudrais être entourée de guillemets simples comme ceci:
{'key' : 'value'}
Est-il possible de faire en utilisant Json .Net?
- Cela semble être une question déjà posée. stackoverflow.com/questions/13541998/... . Reportez-vous à cette question pour voir si cela vous aide.
- pas vraiment un truc joli, mais ça marche:
json.Replace("\"", "\'");
- Je pense que vous pouvez atteindre votre objectif à l'aide d'une solution semblable à celle qui est utilisée sur cette répondre. La solution passera de créer un personnalisé
JsonConverter
classe qui écrit les valeurs brutes et de l'entourer de guillemets simples. - En 2018, vous devriez éviter ce problème, JSON indique que vous devriez être à l'aide de guillemets doubles, et de nombreuses bibliothèques d'analyse échoue avec des guillemets simples maintenant (parce que, à strictement parler, ce n'est pas bien formatée JSON plus).
Vous devez vous connecter pour publier un commentaire.
Oui, c'est possible. Si vous utilisez un
JsonTextWriter
explicitement au lieu d'utiliserJsonConvert.SerializeObject()
, vous pouvez définir laQuoteChar
à un seul devis.De sortie:
Violon: https://dotnetfiddle.net/LGRl1k
Garder à l'esprit que l'utilisation des guillemets simples autour des clés et des valeurs dans le JSON est considéré comme non-standard (voir JSON.org), et peut causer des problèmes pour les analyseurs qui adhèrent strictement à la norme.