java - 具有复杂键的 map 的 JSON 表示

标签 java javascript json serialization

我想将以下 (java) 数据结构序列化为 JSON:

class Machine {
  String name;
  Map<PartDescriptor, Part> parts;
}

class PartDescriptor {
  String group;
  String id;

  hashCode()
  equals()
}

class Part {
  String group;
  String id;
  String description;
  String compat;
  ...
  ...
}

一台 Machine 的 JSON 表示形式是什么?

此外(可选),为我指出将支持您的表示的 JSON 到 Java 序列化器/反序列化器

最佳答案

我会做类似的事情:

{
  "name": "machine name",
  "parts": [
     { "group": "part group", "id": "part id", "description": "...", ... },
     { "group": "part group", "id": "part id", "description": "...", ... },
     // ...
  ]
}

如果每个部分的“id”是唯一的,那么“部分”属性可以是一个对象而不是数组,每个部分的“id”作为键。

{
  "name": "machine name",
  "parts": {
     "1st part id": { "group": "part group", "description": "...", ... },
     "2nd part id": { "group": "part group", "description": "...", ... },
     // ...
  }
}

关于java - 具有复杂键的 map 的 JSON 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10913999/

相关文章:

java - 无法启动 HBase shell

json - 使用python检查json文件中是否存在值

ios - 解析 JSON iOS 时出错

android - org.json.JSONObject$1 类型的值 null 无法转换为 JSONObject

Java:DBunitils + Spring:不同的 Hibernate 方言

java - 日期方法标记为已弃用,但推荐的日历等效方法不能满足我的要求

java - Apache 速度 : Is there a standard way of verifying the correctness of a template from the command line?

javascript - 多次同时调用 `cursor.next()`导致驱动崩溃

javascript - 当创建无限动画的另一个实例时,它消失了

javascript - 使用 Karma 运行测试时使用 PhantomJS 单步执行代码