问题标签 [jsonix]

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.

0 投票
1 回答
294 浏览

json - Jsonix-schema-compiler 无法将 .xsd 文件转换为 JSON 对象

我使用jsonix-schema-compiler将一些 .xsd 文件转换为 JSON 对象,但有一个 .xsd 具有合格的命名空间。

以下 .xsd 无法转换 - 没有错误消息,但也没有生成输出。我试图将日志输出切换到 TRACE,但这无济于事,因为它什么也不输出。

任何想法为什么不能转换?

0 投票
1 回答
602 浏览

json - jsonix-schema-compiler Maven 使用

我尝试根据https://github.com/highsource/jsonix-schema-compiler/wiki/Maven-Usage使用jsonix-schema-compiler但它不起作用

我什至尝试指定其他参数如下:

但没有任何变化,我得到的只是 [警告] 没有要编译的模式。跳过 XJC 执行。从以下日志中可以看出

那么 jsonix-schema-compiler 有哪些好的配置呢?

0 投票
1 回答
510 浏览

jsonix - 试图理解为什么简单的 jsonix 解组失败

我是 jsonix 的新手,主要对使用它来解组 xml 数据感兴趣。我写了一个非常基本的测试示例,但未能使其正常工作。

我硬编码了一个简单的元素,该元素具有命名空间并包含测试 xml 的“hello”。我对通用解组的“任何元素映射”感兴趣。我觉得在创建上下文时我已经正确配置了命名空间等,但我一直收到以下错误:无法解组元素 [sos:Capabilities],因为在此上下文中未知,并且该属性不允许 DOM 内容。想法?并提前感谢。

0 投票
1 回答
65 浏览

jsonix - 通过 JSONIX 解组 SOS GetCapabilities 只产生抽象的产品数据

我正在尝试使用 jsonix 来解组来自 SOS_2_0 的 GetCapabilities 响应。下面是我为解组 xml 字符串而编写的代码。它似乎工作正常,但并非所有元素都已正确映射。

在下面的屏幕截图中,显然“内容”中的所有“产品”都默认为抽象类型 (SWES_2_0.AbstractContentsType.Offering),并且其中没有关于传感器/观测产品的信息。这很奇怪,因为其他元素(例如“filtercapabilities”)也包含所有信息和属性。我已经尝试过,无论是否将命名空间参数传递给 unmarshallString ,它似乎都没有区别。有什么我从根本上误解的东西吗?

在此处输入图像描述.

在此处输入图像描述

来自 Botts-Geo 的 SOS GetCapabilities xml

Sensiasoft 的 SOS GetCapabilities xml

0 投票
1 回答
76 浏览

schema - 通过 JSONIX 解组 SOS DescribeSensor 响应会产生不完整的对象

我正在尝试使用 jsonix 来解组来自 SOS DescribeSensor 请求的 xml 响应。在更广泛的范围内,我将使用 jsonix 来解组来自 SOS 的所有响应,尤其是 2.0。我注意到响应使用 SML 或 SensorML 命名空间,因此我添加了额外的模块依赖项和子依赖项(即 GML_3_1_1、SWE_1_0_1、IC_2_0、SMIL_2_0、SMIL_2_0_Language,当然还有 SensorML_1_0_1)。在我添加这些之前,我注意到返回的是一个通用的 json(参见第一个屏幕截图,特别是在 sml:physicalsystem 附近)。添加依赖项后,在我不理解的部分解组过程中,我的控制台中出现错误(请参见第二个屏幕截图)。这是来自服务器的 xml 响应的链接以供参考。https://drive.google.com/file/d/0B8LdnPVJpHz7M3VGb0FZc2lQcjQ/view?usp=sharing。我真的很想了解这是否与我创建上下文时模块的顺序有关,尽管我相信这很好。一旦找到解决方案,我就有两个后续问题。

  1. 期望(通常)使用从 highsource github 页面上的 ogc-schemas 构建的模块应该允许我通过 jsonix 处理所有响应是否合理?即每个元素将始终映射到定义的类型。我知道这些模式/映射非常复杂。

  2. 是否有任何其他工具可以用来验证模块或根据模式验证它们以使生活更轻松,而不是在 jsonix 似乎解析不正确时逐个跟踪元素或跟踪各种模块文件?

提前致谢 - Richard3d

var context = new Jsonix.Context([XLink_1_0, GML_3_2_1, IC_2_0, SMIL_2_0, SMIL_2_0_Language, GML_3_1_1, SWE_1_0_1, SensorML_1_0_1, OWS_1_1_0, SWE_2_0, SWES_2_0, WSN_T_1, WS_Addr_1_0_Core, OM_2_0, ISO19139_GMD_20070417, ISO19139_GCO_20070417, ISO19139_GSS_20070417, ISO19139_GTS_20070417, ISO19139_GSR_20070417, Filter_2_0, SOS_2_0]);

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
571 浏览

node.js - TypeError:Jsonix.Context 不是函数

我成功地得到了一个由 jsonix 创建的模式对象。现在我想将 json 字符串转换为 xml。这是我的代码:

在这里我得到 Jsonix.Context 不是函数的错误。我的代码有什么问题?

0 投票
1 回答
523 浏览

xml - jsonix:元素 [] 在此上下文中未知,无法确定其类型

按照使用 jsonix-schema-compiler 的说明,我成功获得了 xsd 文件的映射对象;其中非常概括的内容是:

现在我想使用 jsonix 和上面的 json-mapping-object 生成一个 xml-String:

myJsonString 的第一行如下:

以错误结束:

我猜这是因为 myJsonString 中缺少命名空间?如果是这样,我该如何解决?提前致谢;

0 投票
1 回答
379 浏览

date-format - jsonix:转换 json->xml:忽略日期格式

在我的 xsd 文件中,我为类型约会提供了不同的日期格式:

这个json对象:

以空元素结尾:

只有当我选择 gYear 时,我才会在 xml 中得到一个填充元素:

结果是:

我的映射对象如下:

0 投票
1 回答
53 浏览

jsonix - jsonix properties - ogc-schemas .js aren't same

The manual on jsonix properties at https://github.com/highsource/jsonix/wiki/Properties shows properties as being something like:

But then (after npm install ogc-schemas) what I am seeing is:

With the abbreviated names.

Which should it be and why doesn't it matter if it doesn't?

0 投票
1 回答
194 浏览

amazon-mws - 为什么人工 URI 的 jsonix 解组失败

在我尝试使用我创建的架构文件:ListMatchingProductsResponse.xsd时,我遇到了与另一篇文章类似的错误,但我认为底层修复不一样。

当我尝试解析示例响应时:

我最终得到:

我的怀疑:

到目前为止,我已经尝试了各种非智能黑客,但只是不明白这里的问题是什么。希望有更好的鹰眼观点和理解的人可以提供帮助。

对我来说最清楚的是样本响应

  1. 与命名空间ListMatchingProductsResponse的关系http://mws.amazonservices.com/schema/Products/2011-10-01
  2. 而我的架构将其与人工http://localhost:8000/ListMatchingProductsResponse.xsd命名空间相关联,因为我是创建架构并将其定义ListMatchingProductsResponsecomplexType.

以下是运行后生成的mappings/ListMatchingProductsResponse.js文件的摘录:java -jar node_modules/jsonix/lib/jsonix-schema-compiler-full.jar -d mappings -p ListMatchingProductsResponse cache/xsd/localhost_8000/ListMatchingProductsResponse.xsd

我的试错尝试:

我真的不想更改响应,因为我真的无法控制它,但我摆弄它,看看是否可以通过将命名空间修复为我的人造命名空间来改变它,但这仍然导致相同的错误......只是现在被抱怨的命名空间不同了: