问题标签 [jsog]
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.
json - @JsonIdentityInfo 自定义参考序列化?
使用@JsonIdentityInfo,我们可以执行以下操作:
引用是原始类型。可以将引用序列化为对象吗?例子 :
编辑
有用的链接
javascript - 由于“递归过多”,角度等于方法失败
我有一个包含循环引用的 javascript 对象图。当我在 Angular 中使用这个对象时,firefox 会给我以下错误消息(“...”包含 100 多个重复的前面和后面的同一行):
有没有办法告诉 angular 考虑对象是否相等,如果它们匹配 X 级别的深度?还是角度不适用于循环引用?
背景故事(如果你想知道)
我很难在杰克逊中找到一个不会序列化已经出现在特定遍历路径上的对象的解决方案。这似乎对我来说应该很简单,但我猜该功能不存在。就在那时,我在这个答案中偶然发现了 jsog,它使我能够将我的对象图(带循环依赖项)转移到 javascript。我很高兴 jsog 为我做了这件事,但是后来我遇到了上面的错误。
android - 如何添加对 JSOG.js(nativescript 和 angular2)的引用?
我正在尝试使用 NativeScript 和 Angular2 在 android 项目中操作 JSON 对象,但是,我无法添加对 JSOG.js 的引用。
首先,我npm install jsog --save
在提示符下运行命令(Windows)。然后,我将参考放入文件中。我尝试以多种方式放置路径,但是错误是“找不到模块”。
文件 home.ts
android - 很好地处理 JSON 中的循环引用的解析框架
我正在开发一个 Android 项目,目前正在尝试弄清楚如何JSON
从我们API
的 s 中反序列化一些包含引用循环的对象图,然后我可以对其进行操作并将其存储在数据库中。让我举个例子吧:
在这里,一个名为的人对象Bob
是与人的朋友,而与人Alice
又Alice
是朋友Bob
。由于关系是递归的,因此不再Alice
将 的好友关系Bob
实现为完整的人对象,而仅id
提供了他的关系。
您使用什么工具来执行上述步骤?我尝试用 Jackson 实现对象映射部分,但未能找到循环要求的解决方案。我发现一个关于这个主题的持续讨论提到了 JSOG,这可能会有所帮助,但我们的 API 是固定的,并且不符合 JSOG。
基本上我正在寻找的是类似 Android 的 RestKit(iOS 框架)。
jackson - 将 Jackson-Jsog 的 @id 分配给成员变量
是否可以将 jsog 的 @id 值分配给 POJO 类中的成员变量?
例如我有一个json:
和Java类
我试过@JsonProperty("@id")
了,但我id
仍然是null
。有没有人有这方面的经验?我不想id
在我的 JSON 中添加另一个字段,因为它使它很难看。
先感谢您。
jackson - jsog-jackson:序列化对象图
我正在尝试使用父/子引用序列化对象图,本质上我有一个如下所示的实体:
当我尝试将其序列化给客户端时,这就是我得到的:
我看到@id
所有对象的属性,但看不到任何@ref
属性。如果我对 jsog 和 jsog-jackson 的理解正确,那么实际上应该序列化:
我真正想要的是一种在浏览器中恢复序列化 JSOG 之后恢复对父级的原始反向引用的方法,这样@ref
我就可以取回parent
每个child
对象中的属性。
angular - 角度 httpclient 自定义 json 解析器 (jsog)
我刚刚发现了新的 Angular 4.3.xHttpClient
模块,我很可能忽略了一些简单的东西。
我想知道是否可以注册一个自定义 JSON 反序列化器,并且仍然可以从输入的HttpClient
get/post/put 中受益。碰巧出于性能原因,我的后端返回 JSOG,它是 JSON 的扩展,而不是JSON
内容。
目前我使用 normal 发出所有请求get(url, {responseType: 'text'})
,然后通过 RxJs Map Operation 运行响应以转换Observable<string>
我想要的 Observable 中的 ,返回JSOG.parse(responseString)
.
我是否错过了使用某种拦截器的解决方案?非常感谢您的建议。
java - Swagger-codegen 生成的模型反序列化问题 - 无法识别的字段“@id”
我正在尝试使用 swagger-codegen 生成的代码来使用我的 REST 服务,该服务在我的 swagger.json 中定义(由 springfox 2.9.0 在服务器端提供)
我正在生成 api、模型和支持文件。
但是每次我尝试使用 GET api 时,都会发生错误:
avax.ws.rs.client.ResponseProcessingException: Problem with reading the data, class xxx.xxx.generatedmodels.MyEntity, ContentType: application/json;charset=UTF-8.
....
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "@id" (Class xxx.xxx.generatedmodels.MyEntity), not marked as ignorable
我的猜测是生成的 Model 类需要 class-annotation @JsonIdentityInfo(generator = JSOGGenerator.class)
,就像它们在服务器端模型上一样。(也可能@JsonIgnoreProperties(ignoreUnknown = true)
?)
这个假设正确吗?
如果是,那么有没有办法配置 swagger-codegen 以在每个模型上添加此注释?
如果没有,我该怎么做才能让 ApiClient 反序列化接收到的实体?
我的 swagger-codegen 配置如下所示:
响应看起来像这样(严重缩短。有很多对象属性也有“@id”。这个例子与 swagger.json 进一步匹配):
{"@id":"1","id":180,"name":"Test entity"}
json 是有效的,我已经检查过了
编辑:这是我大大减少和去个性化的 swagger.json:
服务器端的 FooBar 类如下所示:
ios - 将 Swift 中的 JSOG 解析为字典
我需要在我的 iOS 应用程序中快速解析JSOG 。我正在尝试自己编写反序列化器,但我不知道如何使用如此抽象的值。我有类似的东西,但它没有用。
而且我不能使用JSONDecoder
,因为我没有一些数据模型。任何人都可以建议我一些库或方法来解析 jsog 吗?我不知道该怎么办。感谢关注。
我想解析这样的东西: