我创建了一个简单的应用程序,它从json文件中获取标记数据并绘制它们。
以下代码是从data.json
获取数据并将其添加到标记列表中。
我有问题。我无法从json文件中获取数据并将其添加到标记列表中。我该怎么办?
我的main.dart
代码
class MapSample extends StatefulWidget {
@override
State<MapSample> createState() => MapSampleState();
}
class MapSampleState extends State<MapSample> {
@override
void initState() {
var location = Location();
FutureBuilder(
future:
DefaultAssetBundle.of(context).loadString('assets/data.json'),
builder: (context, snapshot) {
// Decode the JSON
var new_data = json.decode(snapshot.data.toString());
for (var i = 0; i < new_data.length; i++) {
location = Location(
id: new_data[i]['id'],
lat: new_data[i]['x'],
long: new_data[i]['y'],
);
locations.add(location);
//print(location.lat);
}
});
super.initState();
}
}
我的data.json
[{
"rownum": 1,
"id": "E3E0D2C5-CB82-4AF3-8D5D-4CD323560F59",
"x": 10.99803453,
"y": 106.65676933,
}, {
"rownum": 2,
"id": "5FFB6736-7D1F-4B40-A397-32EB3128BC30",
"x": 10.99793271,
"y": 106.65666751,
},
答案 0 :(得分:0)
尝试一下。
1)您必须在assests中添加data.json文件。
2)然后添加到pubspec.yaml文件中。
资产: -资产/data.json
3)然后在下面的代码中添加该代码。
String jsonData =等待DefaultAssetBundle.of(context).loadString(“ assets / data.json”); 最终的jsonResult = json.decode(jsonData);
答案 1 :(得分:0)
我认为这就是您想要的。
printf '%s\n' \
sed \
-i \
's/#!\/bin\/bash/#!\/bin\/bash\n\/bootstrap_mongo_on_k8s.sh \&\n/' /usr/local/bin/docker-entrypoint.sh \
| jq -Rnc '[inputs]'