【问题标题】:What is the right/preferred name for a data structure akin to JavaScript objects in Java or any other language?类似于 Java 或任何其他语言中的 JavaScript 对象的数据结构的正确/首选名称是什么?
【发布时间】:2020-05-26 06:22:10
【问题描述】:

我已经被提醒过好几次了(现在也提醒 SO 用户自己)JSON 是一种文本编码,与 JavaScript 对象不同。

在 PHP 中,您可以像在 JavaScript 中一样使用数组。在 J2EE 中,您可以创建 JsonArray 或 JsonStructure (https://docs.oracle.com/javaee/7/api/javax/json/JsonArray.html)...参考这些 Java 对象,在我看来,这已经像是对创建 JSON 的含义的混蛋了。

所以我的问题是:用 JavaScript 以外的语言描述类似 JSON 的数据结构的正确方法是什么?有什么比 JSON 更好的吗?如果我对我的同事说我的 PHP 页面中的 Array 的内容,那么说“It is a JSON”是错误的吗?我猜的替代方法是关联数组(或映射),但关联数组比 JavaScript 对象要广泛得多,JavaScript 对象也只能包含数组、对象和键值对。

【问题讨论】:

  • 如果我错了,请纠正我,但由于 JSON 存在于使用它的语言之外,因此它被称为 JSON,仅此而已,类似于 XML。跨度>
  • 你说得对,哈弗。 JSON 只是一种编码方案,如 XML 或 YAML,它恰好是最常用的一种,例如使用 AJAX 调用。您获取数据结构并将其转换为相应的 JSON 字符串,反之亦然。 回到更纯真的日子,格式“真的 JavaScript”,而您只需通过字符串上的exec() 处理它!但现在它已成为与其他格式一样的标准格式,几乎所有语言都对它进行了标准化支持。 (他们通常都使用相同的库来完成繁重的工作。)
  • "如果我对我的同事说我的 PHP 页面中一个数组的内容,那么说“它是一个 JSON”是错误的”...是的,如果它实际上是一个 PHP 数组. JSON 是一种基于文本的格式,用于传输和存储数据。一旦您将该数据字符串解码为所选语言的变量,它就不再是 JSON。
  • “在 J2EE 中,您可以创建 JsonArray 或 JsonStructure”...这些只是用于创建和/或阅读的便利类以通用方式处理 JSON 数据(不去(序列化)到/来自更具体的类型)。其他语言的库包含类似的类(例如,用于 .NET 的 Newtonsoft.JSON 库中的 JObject 和 JArray)。它们适用于 JSON,并不是说这些类 JSON。

标签: javascript java php json


【解决方案1】:

JSON 是 PHP 或您选择使用的任何语言中数据结构的编码表示。

这个过程有很多名称,serializationmarshalling 等等。

【讨论】:

  • 嗨 Rattybag,你错过了我的问题的核心(也许它没有尽可能清楚)。我知道 JSON 最初是为序列化 JavaScript 对象和数组而开发的。但我的问题是关于如何调用内存中的非序列化数据结构,它的工作方式与 JavaScript 对象和数组 在 JavaScript 之外 的工作方式相同
【解决方案2】:

我对充满鳗鱼的气垫船的回答很满意。虽然“JSON”可能不打算用于此目的,但它是描述这种数据结构的最佳方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多