我将数据存储在YAML文件中,并使用
将其作为OrderedDict加载def ordered_dump(data, stream=None, Dumper=yaml.Dumper, **kwds):
class OrderedDumper(Dumper):
pass
def _dict_representer(dumper, data):
return dumper.represent_mapping(
yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
data.items())
OrderedDumper.add_representer(OrderedDict, _dict_representer)
return yaml.dump(data, stream, OrderedDumper, **kwds)
@app.route("/survey_input")
def load_survey_input():
with open(survey_input_yaml_filename, "rb") as f:
qs = ordered_load(f, yaml.SafeLoader)
return jsonify(qs)
现在我的qs是:
OrderedDict([('A', 1),
('G', 2),
('B', 0),
('E', 1),
('D', 5)])
然后当我使用axios将其加载到JavaScript时:
mounted() {
var self = this;
axios.get("/survey_input").then(function(response)
{
self.survey_input = response.data;
console.log(self.survey_input);
});
}
在控制台中,我看到:
A: (...)
B: (...)
D: (...)
E: (...)
G: (...)
我不知道如何按顺序将其读取到JavaScript中,因此我将能够遍历字典并相应地在Web上显示。