问题标签 [json-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - JSON 无效(JSONview),但我不知道如何
好吧,我已经疯了。我正在从 PHP 输出 JSON,而 Chrome 和 Firefox 的 JSON View 扩展声称它是无效的。这两个扩展在JSON View 的示例上都能正常工作,所以我的 JSON 似乎确实有问题——但我不知道是什么。
火狐版本有错误信息:
Chrome 版本缺少此类错误消息,但仍将 JSON 打印为纯文本。
我正在设置标头,如下所示:header('Content-Type: application/json');
我在 Firebug 和 Chrome 的开发工具中检查了响应标头;在这两种情况下都正确设置。删除它会隐藏 Firefox 版本中的错误消息,并且纯文本不是等宽字体,仅此而已。
完整的请求标头:
完整的响应标头:
我已经对 JSON 本身进行了许多变体,但是当像这样简单的事情发生时,我无法想象这是 JSON 的问题:
仍然失败。我反复检查过;这实际上是服务器响应的全部内容,但 JSON View 仍然抱怨。对于更复杂的 JSON,我一直在使用
其中$output
是关联数组;输出看起来完全正确,但 JSON View 仍在抱怨。这是echo
文件中唯一没有被注释掉的。
那么这里到底出了什么问题呢?我真的需要 JSON 视图;我经常使用非常大的 JSON,折叠和展开对象和数组的能力对于调试我的应用程序至关重要。这个在线 JSON 查看器似乎可以工作,但如果我每次测试这些 PHP 文件时都必须复制和粘贴这些文件的输出,我的工作效率就会受到影响。
编辑:我发现有效的一件事是如果我这样做:
如果我再这样做:
我再次得到错误。
所以这意味着dbinfo.php
导致问题的原因。
编辑:对不起,我已经dbinfo.php
从这个问题中删除了,因为它可能包含不应该公开的敏感数据(即使我去掉了明显的东西)。由于 的内容不dbinfo.php
相关,因此删除它似乎更安全。请看下面我的回答。
json - 自定义 JSON 输出 CakePHP
我的控制器中有这段代码。
在我看来,我有这个。
它像这样输出json
无论如何要格式化它以删除包装在“用户”中的整个数组,并删除每个作为“用户”成员的对象。
这使得在前端使用起来更加困难。我希望它看起来像这样。
谢谢你的帮助。
spring-mvc - Json 动态视图 Spring MVC
我是 Spring MVC 的新手,我想为每个请求使用 JasonViews (Jackson) 动态 JSON,我不想过多地更改我的控制器 .. 所以@marty 在他的博客中给了我一个很好的解决方案
http://martypitt.wordpress.com/2012/11/05/custom-json-views-with-spring-mvc-and-jackson/
问题是我需要控制 HTTP 状态代码,所以我的控制器返回类型 HttpResponse{T} 而不是 List{T} 我如何自定义代码以支持解析 HttpResponse{List{Book} 等类型}?
如果不可能,我可以在没有 HttpResponse 的情况下控制 Http 状态码吗?
xml - 将 RequestHandler 设置为默认使用 XmlView
我正在为 API 使用 Xml/Json 视图。
转到“/Api.json”或“/Api.xml”工作正常,但我希望它在发布到“/Api”时默认为 XmlView
完成这项工作的最简单/最好的方法是什么?
- 编辑:正如 Jelmer 提到的,只需执行 '$this->layout = "xml"' 就可以了——他们应该在文档中提到这一点。
java - 杰克逊 JSON - @JsonProperty 覆盖 @JsonView?
我有以下课程:
和一个观点:
我希望_mapper.writerWithView(View1.class).writeValueAsString(bean)
返回{"x":1}
,因为x
它是唯一附加了视图的值,但我得到了{"x":1,"y":2}
.
为什么它会这样做,我怎样才能让它不这样做?我知道我可以删除@JsonProperty("y")
,但如果我选择使用普通 writer 而不是 writerWithView,我仍然希望能够序列化所有值。
jersey - @JsonView 如何与球衣一起使用
我想为一个对象返回具有不同视图的不同字段。但它总是返回所有字段。我创建了 3 个不同的视图:
然后在 User.java
然后将@JsonView 添加到
java - 如何在球衣资源方法中覆盖@JsonView
我设置了一些带有 @JsonView 注释的球衣资源方法,以便过滤响应中返回的字段。在某些情况下,我希望能够用另一个覆盖注释中设置的 JsonView,或者有时完全禁用它。(一些 queryParam 将用于定义应该为渲染设置哪个视图,或者是否应该禁用它)。有任何想法吗?
java - 杰克逊:忽略getter,但不使用@JsonView
我正在寻找仅在某些情况下序列化瞬态信息的可能性:
如果我调用 getUserAsJson,我希望看到 id、email 和其他字段,但不会看到详细信息。这工作正常。但我对 getUserAsJsonForAdmin 也看到了同样的情况,也没有详细说明。如果我删除 @JsonIgnore 注释 - 我确实会在两个调用中看到详细信息。
我做错了什么,有什么好的方法吗?谢谢!
java - 如何使用带有嵌套对象的@Jsonview 进行序列化
我有一个类包含另一个类的集合。
当我使用 VerboseViewA.Complete 序列化 A 类时,我希望使用 VerboseViewB.Minimal 序列化集合 bEntities。
有没有办法实现它?
java - @JsonView 不过滤属性(Spring 4.1.0.RC2,Jackson 2.3.2)
我有一个带有一些带注释的 @JsonView 注释的实体(使用 lombok)。
有一个用 @JsonView 注释注释的控制器方法。
我预计输入将仅包含使用@JsonView 注释的字段。但我有很多领域。
我正在尝试调试 spring 和 jackson 源。在 com.fasterxml.jackson.databind.SerializationConfig 中,我看到活动视图是我的类 JsonViews.OrderAdvancedSearch.class 但在 com.fasterxml.jackson.databind.ser.std.BeanSerializerBase 变量中,filteredProps 始终具有我实体的所有属性。