Bir javascript nesnesini veya dizisini tekrar native dart Map ve/veya List'e dönüştürmek mümkün müdür? Javascript'ten Object olarak döndürülen bir manifest dosyası almaya çalışıyorum ve bunu bir Dart Map nesnesine dönüştürmek istiyorum.js-interop öğesini kullanma javascript Array ve Object öğelerini native dart Map'e nasıl dönüştürebilirim.
5
A
cevap
2
birçok değişiklik aşağıdaki kodu (# 30104) En son adapte Alexandre Ardhuin yanıtıdır, bu yıl tarafından yapıldı Dart Sdk
import "dart:convert";
import "dart:js" as js;
convert(js.JsObject object)
{
return JSON.decode(js.context['JSON'].callMethod("stringify", [ object ]));
}
3
Javascript bağlamındaki Javascript yöntemiyle JSON.stringify() yöntemini kullanabilirsiniz.
Future getManifest() {
var completer = new Completer();
js.scoped(() {
var chrome = js.context.chrome;
var manifest_proxy = chrome.runtime.getManifest();
var manifest_string = js.context.JSON.stringify(manifest_proxy);
var manifest = JSON.parse(manifest_string);
logger.fine("manifest_string = $manifest_string");
completer.complete(manifest);
});
return completer.future;
}
Aşağıdakileri konsola yazdırır ve tamamlayıcıyı dart Haritasına gönderir.
manifest_string = {"app":{"background":{"scripts":["main.js"]}},"manifest_version":2,"minimum_chrome_version":"23","name":"chrome.dart - test","version":"1"}
4
Sen bir Dart JSON için bir javascript JSON dönüştürebilirsiniz:
import 'dart:json';
import 'package:js/js.dart' as js;
convert(js.Proxy jsonProxy) => JSON.parse(js.context.JSON.stringify(jsonProxy));
API
İlgili konular
- 1. DOM öğelerini javascript eşlemi olarak kullanma
- 2. std :: move (object) ve object.method() öğesini aynı atama ifadesinde kullanma.
- 3. ve [object HTMLInputElement] javascript
- 4. console.log (sonuç), [object Object] öğesini döndürür. Result.name nasıl alabilirim?
- 5. JSONObject öğesini gson.JsonObject öğesine nasıl dönüştürebilirim?
- 6. Machine.Fakes ve WithSubject öğelerini kullanma
- 7. React-native: FlatList öğelerini sarmak
- 8. JavaScript - dönen [object Object]
- 9. Array öğesinden Object adlarına erişme
- 10. Array [Node] 'u NodeSeq'e nasıl dönüştürebilirim?
- 11. JavaScript [object] [Object] hata ayıklama
- 12. Dizide yinelenen Array # delete öğesini nasıl kullanabilirim?
- 13. Birincil 212 Array öğesini birincil anahtarla sıralayın
- 14. Açılır menü öğelerini kullanma
- 15. 'System.Windows.Input.Key' öğesini 'System.Windows.Forms.Keys' dosyasına nasıl dönüştürebilirim?
- 16. NSMutableArray öğesini başlat: [NSMutableArray array];
- 17. TypeError: Builder :: XmlMarkup öğesini Array 'a dönüştüremiyor
- 18. DOM öğesini jQuery öğesine nasıl dönüştürebilirim?
- 19. React Öğesini Html öğesine nasıl dönüştürebilirim? Şimdi
- 20. Telnet Uygulama Öğelerini JavaScript'te Kullanma
- 21. Google Maps ve DART
- 22. Grails Kriterlerinde groupProperty ve countDistinct öğelerini kullanma
- 23. Pandalar: dtype 'object' öğesini int konumuna dönüştürün
- 24. Dart içinde JavaScript Interop otomatikleştirin
- 25. array nesnesini javascript işlevine geçirme
- 26. Dart
- 27. Javascript Nesnesi İçinde Array?
- 28. Companion Object Değerlerini ve Scala MatchError öğelerini geçersiz kılma
- 29. html öğelerini div'e eklemek için Javascript DOM kullanımını kullanma
- 30. Contextual action bar öğelerini fragmanlarla kullanma
“Future” kullanmanız gerekmez. –
Nice, bu nedenle kapsam dışı bir Gelecek dönüşü gerektirmez. Bu kütüphanede, geleceğin krom tarafından sağlanan çağrıların çoğuna desen olarak kullanmaya başladım. * Apis. Eğer durum buysa, geri arama gerektiren yöntemler için sadece Futures'a ihtiyacım var. http://goo.gl/x2H2K –