美文网首页Fluter学习
Flutter学习笔记5-dart:convert

Flutter学习笔记5-dart:convert

作者: Realank | 来源:发表于2018-08-02 09:36 被阅读867次

    引用

    import '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": 40},
        {"score": 80}
      ]
    ''';
    
    var scores = jsonDecode(jsonString);
    assert(scores is List);
    
    var firstScore = scores[0];
    assert(firstScore is Map);
    assert(firstScore['score'] == 40);
    
    编码(Object->JSON String)

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

    var scores = [
      {'score': 40},
      {'score': 80},
      {'score': 100, '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 = 0; i < encoded.length; i++) {
      assert(encoded[i] == utf8Bytes[i]);
    }
    

    相关文章

      网友评论

        本文标题:Flutter学习笔记5-dart:convert

        本文链接:https://www.haomeiwen.com/subject/owqjvftx.html