如何使用dart从集合中制作JSON字符串,就像使用Maps一样。文档说我可以将映射或数组传递给JSON.stringify()方法。但是Dart中没有Array数据类型,传递集合给我一个例外。
我有一个幼稚的解决方法,但我想知道是否会有更好的方法来做到这一点:
String s = '[';
bool first=true;
_set.forEach(function(item){
if (first) {
first = false;
} else {
s+=',';
}
s += JSON.stringify(item);
});
s +=']';
print(s);
return s;
Run Code Online (Sandbox Code Playgroud)
通过列表对我有用:
dart-sdk/lib/frog/server/dart_json.dartjson:dart使用此代码:
void main() {
var list = new List.from(["a","b","c"]);
print(JSON.stringify(list));
}
Run Code Online (Sandbox Code Playgroud)
打印此JSON代码段:
["a","b","c"]
Run Code Online (Sandbox Code Playgroud)
Set.from(...)鉴于JSON仅在地图和列表中处理,因此不适用于预期的新功能。
在 Dart 中,您可以使用's方法String从 an 中获取 JSON 。下面是一个例子:ObjectJsonEncoderconvert
import 'dart:convert';
void main() {
final jsonEncoder = JsonEncoder();
final collection1 = List.from([1, 2, 3]);
print(jsonEncoder.convert(collection1)); // prints [1,2,3]
final collection2 = List.from(['foo', 'bar', 'dart']);
print(jsonEncoder.convert(collection2)); // prints ["foo","bar","dart"]
final object = {'a': 1, 'b': 2};
print(jsonEncoder.convert(object)); // prints {"a":1,"b":2}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3316 次 |
| 最近记录: |