- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个不灵活的要求来保留 API 输出键的顺序。我将数据作为 python 字典并将其作为上下文传递给 jinja2 模板,如下所示:
....
return templates.TemplateResponse(
"sat.html",
context={
"request": request,
"address": address,
"json_out": json_out, # this is a dict with correct order
"timing": timing,
"title_text": title_text,
},
)
如果我只是在模板中使用 {{ json_out }}
,我发现顺序被保留了下来。如果我使用 {{ json_out | tojson }}
(因为我有兴趣将其传递给 javascript),键得到排序。为什么?
看这个例子:
用于生成上述内容的代码:
我完全理解这些数据结构是无序的。但是,似乎在 jinja2 tojson
过滤器中进行了一些排序。也许我误解了这里发生的事情……我怎样才能保留初始顺序,同时让这些数据对 js 可用? Django 有一个过滤器允许这个 {{ json_output | json_script:"api_out"}}
但我似乎无法使用 Flask/FastAPI 进行复制。
最佳答案
刚刚注意到 Jinja2 中的相同问题。要更改此设置,您必须向环境添加一个新 key :
env.policies['json.dumps_kwargs'] = {'sort_keys': False}
感谢 Alexander Chzhen,他发布了他们找到的解决方案 here .
关于python - 为什么 jinja2 过滤 "tojson"排序键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67214142/
还是两者兼而有之? 最佳答案 因为扩展Object是不好的做法。 关于javascript - 为什么 MongoDB 不扩展对象以能够使用 a.tojson() 但仍然需要 tojson(a)?,我
我在另一个答案中看到,为了包含虚拟字段,您必须执行类似 https://groups.google.com/forum/?fromgroups#!topic/mongoose-orm/HjrPAP_W
我正在尝试使用 Gson 的 toJson API 将我的对象转换为 JSON 字符串。当我遇到支持相同的 2 个不同的 API 时。 As per Docs - public String toJs
我是knockout js的新手,我想将knockout.js与asp.net表单应用程序一起使用。我想使用 ajax 调用更新实体,如下所示 // Update product details
我是 JSON 的新手,因此我不确定 $.toJSON(params) 是什么意思。 请解释这是做什么的。 最佳答案 可能是这个jQuery plugin var myObj = {}; myObj.
让我们举个例子。我有一个 pojo 类,如下所示。 public class MyRecord{ private String name; private String id;
我有这样的代码: var test = new Date(2019, 03, 15, 13, 15, 0); console.log(test); //outputs Mon Apr 15 2019
我不确定为什么 this.model 在我的主干 View 中未定义。 这是我的脚本: var TheModel = Backbone.Model.extend({ defaults: {
我编写的组件将带有\n 换行符的文本转换为 html 段落 文本.js const Text = props => (( { props.paragraph.split('\n').ma
我需要从 JSON 响应中删除某些字段。为此,我使用了 toJSON() 方法。这是我的模态方法的代码。 User.methods.toJSON = function () { l
我在 asp.net mvc 页面上使用 knockoutjs。我正在使用 ajax 通过调用 ko.toJSON(viewModel) 将表单保存回服务器。然后使用 jQuery 将结果发布回服务器
我正在尝试使用 jQuery 和 Ajax,并且使用此方法。但我收到错误 $.toJSON is not a function in my firebug 。哪里有问题?我使用 jquery 1.3.
第一 quote来自 Redux 文档: It is highly recommended that you only put plain serializable objects,arrays, a
我创建了一个 .NET core 2.2 webapi,并使用 swagger/nswag 为我的 React/typescript 应用程序生成 API。当我尝试设置一个新对象时,我得到一个 ts(
例如,我位于澳大利亚,而 new Date() 为我提供澳大利亚的当前日期和时间2016 年 8 月 26 日星期五 09:16:16 GMT+1000(澳大利亚东部标准时间),如果我写 new Da
listData.forEach(function (row, index) { console.log(row); --> output JSON format { _id: 5
我对 knockout 计算的可观察值和 toJSON 函数有疑问。我创建了一个Fiddle Example 。在此示例中,我有一个模型: function VM() { this.Name =
我正在使用 knockout 映射插件从我的服务器映射对象。 我想重新发送这个对象,因此,我最终需要将这个对象转换为字符串。我在计算函数中使用了 knockout 函数 ko.toJSON,以便隐藏字
我正在尝试获取一些数据并使用 Backbone 显示它,但运气不佳 - 我没有收到任何错误,只是没有渲染(我使用 todos 示例作为指导构建了这个非常简单的应用程序) index.html:
我有一个 javascript 对象,如下所示: var Person = function() { var _name = ""; this.Age = 0; Object.
我是一名优秀的程序员,十分优秀!