Ist es möglich, ein JavaScript-Objekt oder -Array zurück in native Dart Map und/oder List zu konvertieren? Ich versuche, eine Manifestdatei, die von JavaScript zurückgegeben wird, als Objekt zu erhalten und es in ein Dart Map-Objekt zu konvertieren.Mit js-interop kann ich Javascript Array und Objekt in native Dart Map konvertieren.
5
A
Antwort
2
Viele Änderungen in API dieses Jahr durchgeführt wurde, folgenden Code ist die Antwort von Alexandre Ardhuin neuesten angepasst (# 30104) Dart Sdk
import "dart:convert";
import "dart:js" as js;
convert(js.JsObject object)
{
return JSON.decode(js.context['JSON'].callMethod("stringify", [ object ]));
}
3
Sie könnten die integrierte JavaScript-Methode JSON.stringify() aus dem JavaScript-Kontext verwenden.
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;
}
Welches würde die folgenden auf der Konsole ausdrucken und senden Sie dem Completer eine Dart Map.
manifest_string = {"app":{"background":{"scripts":["main.js"]}},"manifest_version":2,"minimum_chrome_version":"23","name":"chrome.dart - test","version":"1"}
4
Sie können eine Javascript JSON an einen Dart JSON konvertieren mit:
import 'dart:json';
import 'package:js/js.dart' as js;
convert(js.Proxy jsonProxy) => JSON.parse(js.context.JSON.stringify(jsonProxy));
Verwandte Themen
- 1. Wrap einfache JavaScript-Plugin JsInterop mit
- 2. JavaScript-Objekt/Map in verschachtelte Arrays konvertieren?
- 3. Wie kann ich auf json Objekt in Javascript zugreifen und es in Array in Java konvertieren?
- 4. Map-Objekt mit String Array
- 5. konvertieren PHP assoziative Array in JavaScript-Objekt
- 6. Java Map in Javascript Map konvertieren
- 7. GWT JsInterop: JsType Eigenschaft mit "-" in Namen
- 8. Konvertieren von Javascript-Array von Objekten in Array von anderen Objekten mit Map-Methode
- 9. ClojureScript - beliebiges JavaScript-Objekt in Clojure-Script-Map konvertieren
- 10. Mit dart einer JavaScript-Bibliothek
- 11. Javascript ändern Objekt angepasste Array
- 12. Native Swift konvertieren In Array setzen
- 13. Konvertieren verschachtelten Array in Objekt
- 14. Multidimensionales Array in Objekt konvertieren
- 15. Konvertieren von Hash-Map in 2D-Array
- 16. Wie kann ich ein Objekt (tiefe Kopie) in Dart klonen?
- 17. Native mobile Anwendung mit Google Dart Sprache
- 18. `map` und` filter` in JavaScript
- 19. Objekt Array in ein anderes Array mit Reflection konvertieren
- 20. Javascript Map Array Letzte Artikel
- 21. Konvertieren von einfachen Dart-Code in TypeScript
- 22. Golang - Array/Map zu JSON konvertieren
- 23. Javascript-Array in PHP-Array konvertieren
- 24. Javascript konvertieren Array
- 25. Wert in Array JavaScript-Objekt
- 26. Array in einem Javascript-Objekt?
- 27. Objekt in Array-Konvertierung mit JavaScript
- 28. Wie Sie ein Array anhängen. oder wie kann ich Modell in nsmuttable Array konvertieren
- 29. Convert Array-Objekt in Json in Javascript
- 30. verwirrt # map return array javascript
Sie müssen keine 'Zukunft' verwenden. –
Schön, so dass das Scoped keine zukünftige Rückkehr erfordert. In dieser Bibliothek habe ich Future als Muster für die meisten Anrufe von chrome verwendet. * Apis. Wenn dies der Fall ist, sollte ich Futures nur für Methoden benötigen, die Rückrufe erfordern. http://goo.gl/x2H2K –