web-dev-qa-db-fra.com

Dart json.encode renvoie une chaîne json avec des valeurs de clé sans guillemets

J'essaie de convertir un dictionnaire en chaîne json. Cependant, je ne reçois pas de devis autour des chaînes. J'utilise Dart 2. Voici ce que j'ai

  var resBody = {};
  resBody["email"] = "[email protected]";
  resBody["password"] = "admin123";
  var user = {};
  user["user"] = resBody;
  String str = json.encode(user);

La sortie est:

{user: {email: [email protected], password: admin123}}

J'aimerais que ce soit comme un véritable objet JSON

{"user": {"email": "[email protected]", "password: admin123"}}

Comment puis-je dire à Dart de mettre des guillemets autour de lui? J'ai regardé le fil this et je fais exactement ce qui fonctionne pour l'utilisateur. Est-ce que je fais quelque chose de mal?

8
MistyD

Cela fonctionne comme prévu

import 'Dart:convert';

void main() {
  var resBody = {};
  resBody["email"] = "[email protected]";
  resBody["password"] = "admin123";
  var user = {};
  user["user"] = resBody;
  String str = json.encode(user);
  print(str);
}

impressions

{"user":{"email":"[email protected]","password":"admin123"}}

Exemple DartPad

15