2013-07-08 25 views

Trả lời

7

Các parse() chức năng trong dart:json mất một callback như một arg mà bạn có thể sử dụng để chuyển đổi các dữ liệu phân tích cú pháp. Ví dụ, bạn có thể muốn thể hiện một trường ngày tháng như một đối tượng DateTime, và không phải là một danh sách các số đại diện cho năm, tháng và ngày. Chỉ định hàm ‘reviver’ làm đối số thứ hai để phân tích cú pháp.

Chức năng này được gọi một lần cho từng đối tượng hoặc danh sách bất động sản phân tích, và giá trị trả về của hàm Reviver được sử dụng thay vì giá trị phân tích cú pháp:

import 'dart:json' as json; 

void main() { 
    var jsonPerson = '{"name" : "joe", "date" : [2013, 10, 3]}'; 

    var person = json.parse(jsonPerson, (key, value) { 
    if (key == "date") { 
     return new DateTime(value[0], value[1], value[2]); 
    } 
    return value; 
    }); 

    person['name'];    // 'joe' 
    person['date'] is DateTime; // true 
} 
Các vấn đề liên quan