如何将不带引号json字符串转换为Map。
我在https://dartpad.dev/
上尝试了以下代码,但不起作用:
import 'dart:convert';
void main() async {
final String raw = "{data: {name: joy, tags: aa,bb, city: jakarta}}";
print('Test 1: $raw');
final Map<dynamic, dynamic> result = json.decode(raw);
print('Test 2: $result');
}
这是上面代码的错误:
Test 1: {data: {name: joy, tags: aa,bb, city: jakarta}}
Uncaught Error: FormatException: SyntaxError: Expected property name or '}' in JSON at position 1
而我知道这一点是因为我的json是无效的,如何将我的不带引号的json字符串转换为带引号的json字符串?
实际结果为:
{data: {name: joy, tags: aa,bb, city: jakarta}}
预期结果为:
{"data": {"name": "joy", "tags": "aa,bb", "city": "jakarta"}}
2条答案
按热度按时间piah890a1#
我用下面的代码修复它,参考这个答案:https://stackoverflow.com/a/71025841/21092577
cngwdvgl2#
您的json无效,请使用https://jsonlint.com/进行验证
json应该是
DEMO