当前位置: 首页 > 面试题库 >

如何在JSON中表达XML标签属性?

娄建义
2023-03-14
问题内容

我正在为我的Web应用程序设计API。

我正在考虑仅支持JSON响应(不支持XML),因为它更加简化。

但是我刚刚碰到了这个XML:

<folders>
    <folder id="123" private="0" archived="0" order="1">Shopping</folder>
</folders>

我想知道对应的JSON会如何。我的感觉是,在这种情况下,XML会更紧凑。


问题答案:

也许:

{
  "folders": [
    { "id":123, "private":0, "archived":0, "order":1, "title":"Shopping" },
    ...
  ]
}

因为XML和JSON之间 没有
确切的对应关系,所以您可以自由地(例如必须定义)这两个数据结构的映射方式。例如,在上面,“文件夹”元素隐含在“文件夹”数组中的嵌套对象中。

可以将其扩展为:

"folders": [{"folder": { .... }]

等等,但是仍然 存在无法 像XML一样一致 地捕获内容和属性 的问题。无论如何,您的数据结构-> JSON |
XML序列化程序都可能以特定的方式工作( 请使用库,而不是“手动滚动”的JSON-string-munging )。那是;
XML和JSON的格式应由用于传输的数据结构统一规定(以某种方式)。



 类似资料:
  • EL表达式可以使用在任何接收动态内容的标签属性中。在这些属性中既可以只包含一个的EL表达式,也可以包含多个EL表达式和静态文本。 标签属性中只包含一个EL表达式的语法如下: <prefix:tag value = "${表达式}" /> 下面是标签属性包含一个单独EL表达式的示例代码: <jsp:setProperty property="age" name = "myBean" value="$

  • 问题内容: 我已经将格式良好的xml文档转换为字符串变量。我想使用preg_replace向每个xml标签添加定义的属性。 例如替换: 通过: 因此,我基本上需要regex表达式来查找任何开始标记并添加我的属性,但是我是一个完整的regex新手。 问题答案: 不要在XML上使用正则表达式。Xml不是常规语言。请改用php的xml扩展名: 所有包含正则表达式的答案都将破坏此有效xml,例如:

  • 我试图用Postman写一个非常简单的测试。我有两个URL和第一个URL得到一些XML文件,然后存储在邮递员变量作为一个前脚本部分。之后,第二个URL使用此响应并发送另一个POST请求。 但是在成功地从xml中得到结果后,不知何故邮递员没有通过这个请求,而是给出了400。 谢谢

  • 问题内容: 我的xml文件如下: 我想忽略,我想在我的Unmarshaller流程中添加标签。 我的班级如下: 谢谢。 问题答案: 忽略 您可以创建一个经过过滤的StAX,并让JAXB取消编组以忽略一个或多个XML元素。 http://docs.oracle.com/javase/7/docs/api/javax/xml/stream/XMLInputFactory.html#createFilt

  • 问题内容: 我正在尝试提取锚标记()的属性。到目前为止,我有这个表达: 适用于像 和(单引号) 但不适用于不带引号的字符串: 如何修改我的正则表达式,使其与不带引号的属性一起使用?还是有更好的方法来做到这一点? 更新: 谢谢您到目前为止的所有好评和建议。 我没有提到一件事:很遗憾,我必须修补/修改不是由我编写的代码。而且没有时间/金钱从头开始重写这些东西。 问题答案: 如果你有一个像 此正则表达式

  • 从OData v4 API的响应中使用以下JSON对象: 这用于选择数组中的对象:<code>$.value[?(@.id==123456789)] 使用此JSONPath,我可以获得属性“@odata.count”的值:<code>$.“@odataa.count”] 但是如何使用“@odata.count”的表达式编写JSONPath?例如。仅当计数大于 1 时才选择,以下表达式将失败: 我坚