Flutter dart:convert

引用

mport 'dart:convert';

JSON

解码(JSON String->Object)
// NOTE: Be sure to use double quotes ("),
// not single quotes ('), inside the JSON string.
// This string is JSON, not Dart.
var jsonString = '''
[
{"score": },
{"score": }
]
'''; var scores = jsonDecode(jsonString);
assert(scores is List); var firstScore = scores[];
assert(firstScore is Map);
assert(firstScore['score'] == );
编码(Object->JSON String)

支持int, double, String, bool, null, List, Map (with string keys)

var scores = [
{'score': },
{'score': },
{'score': , 'overtime': true, 'special_guest': null}
]; var jsonText = jsonEncode(scores);
assert(jsonText ==
'[{"score":40},{"score":80},'
'{"score":100,"overtime":true,'
'"special_guest":null}]');

UTF-8

解码
List<int> utf8Bytes = [
0xc3, 0x8e, 0xc3, 0xb1, 0xc5, 0xa3, 0xc3, 0xa9,
0x72, 0xc3, 0xb1, 0xc3, 0xa5, 0xc5, 0xa3, 0xc3,
0xae, 0xc3, 0xb6, 0xc3, 0xb1, 0xc3, 0xa5, 0xc4,
0xbc, 0xc3, 0xae, 0xc5, 0xbe, 0xc3, 0xa5, 0xc5,
0xa3, 0xc3, 0xae, 0xe1, 0xbb, 0x9d, 0xc3, 0xb1
]; var funnyWord = utf8.decode(utf8Bytes); assert(funnyWord == 'Îñţérñåţîöñåļîžåţîờñ');
解码stream
var lines = inputStream
.transform(utf8.decoder)
.transform(LineSplitter());
try {
await for (var line in lines) {
print('Got ${line.length} characters from stream');
}
print('file is now closed');
} catch (e) {
print(e);
}
编码
List<int> encoded = utf8.encode('Îñţérñåţîöñåļîžåţîờñ');

assert(encoded.length == utf8Bytes.length);
for (int i = ; i < encoded.length; i++) {
assert(encoded[i] == utf8Bytes[i]);
}
上一篇:Android的各种Drawable 讲解 大全


下一篇:SQL Server 2017搭建主从备份