我正在尝试将字典转换为 json 字符串。但是我没有得到任何字符串的引号。我正在使用 dart 2 。这是我所拥有的
var resBody = {};
resBody["email"] = "[email protected] /cdn-cgi/l/email-protection";
resBody["password"] = "admin123";
var user = {};
user["user"] = resBody;
String str = json.encode(user);
输出是:
{user: {email: [email protected] /cdn-cgi/l/email-protection, password: admin123}}
我希望它像一个实际的 json 对象
{"user": {"email": "[email protected] /cdn-cgi/l/email-protection", "password: admin123"}}
我怎样才能告诉 dart 在它周围加上引号?
我在看this https://stackoverflow.com/questions/29294019/dart-convert-map-to-json-with-all-elements-quoted线程并且正在做对用户有用的事情
难道我做错了什么 ?
这按预期工作
import 'dart:convert';
void main() {
var resBody = {};
resBody["email"] = "[email protected] /cdn-cgi/l/email-protection";
resBody["password"] = "admin123";
var user = {};
user["user"] = resBody;
String str = json.encode(user);
print(str);
}
prints
{"user":{"email":"employ[email protected] /cdn-cgi/l/email-protection","password":"admin123"}}
DartPad 示例 https://dartpad.dartlang.org/bca589c77b74a3290ab1ef3e246cf384
[or]
import 'dart:convert';
void main() {
const JsonEncoder encoder = JsonEncoder.withIndent(' ');
try {
var resBody = {};
resBody["email"] = "[email protected] /cdn-cgi/l/email-protection";
resBody["password"] = "admin123";
var user = {};
user["user"] = resBody;
String str = encoder.convert(user);
print(str);
} catch(e) {
print(e);
}
}
这会给你美化的输出
{
"user": {
"email": "[email protected] /cdn-cgi/l/email-protection",
"password": "admin123"
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)