Dart

2013-07-08 38 views
7

kullanarak bir JSON dizgisini ayrıştırırken verileri dönüştürme dart:json içinde sağlanan parse() işlevini kullanıyorum. Ayrılan verileri parse() kullanarak dönüştürmenin bir yolu var mı? Ben JavaScript kullanarak JSON ayrıştırma reviver tartışmaya benzer bir şey düşünüyorum:Dart

JSON.parse(text[, reviver]) 

cevap

7

dart:json yılında parse() işlevi çözümlenen verileri dönüştürmek için kullanabileceğiniz bir arg bir geri arama sürüyor. Örneğin, bir DateTime nesnesi olarak bir tarih alanını ifade etmeyi tercih edebilirsiniz, yıl, ay ve günü temsil eden sayıların bir listesi olarak değil. Ayrıştırmak için ikinci bir argüman olarak bir "reviver" işlevi belirtin.

Bu fonksiyon, ayrıştırılır, her bir nesne ya da liste özelliği kez olarak adlandırılır

ve kuvvetlendirici işlevin dönüş değeri yerine ayrıştırılır değer kullanılır:

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 
} 
İlgili konular