enum and json相互转换

1.enum 转为 json

在kafkaProducer 懒得封装model,就把参数放到了map里,根据你自己的业务去转为j son(超简单 这不是关键点
Map<String, Object> params = Maps.newHashMap();
params.put("action", messageBody.getAction());   --->这里的Action是枚举了啦
JSON.toJSONString(params);  转为了一个json去传输咯

2.json转为 enum

消费者消费时

Action action = Action.fromString(json.getString("action"));

重点就是枚举里需要定义个方法哦!!!

public static Action fromString(String actionString) {
  return Stream.of(Action.values())
      .filter(action -> actionString.equalsIgnoreCase(action.name()))
      .findFirst()
      .orElse(null);
}

以上

TS(TypeScript)是一种由微软开发的开源编程语言,它是一种静态类型语言,可以用于 JavaScript 的扩展和改进。TS 提供了强大的类型系统,可以帮助开发者更好地理解和使用代码。 在 TypeScript 中,枚举(Enum)是一种特殊的数据类型,用于表示一组固定的值。这些值通常用于定义常量或表示一组特定的选项。 根据 JSON 生成枚举(Enum)通常涉及到解析 JSON 文件,提取其中的键(key),并根据这些键生成对应的枚举值。这通常可以通过 TypeScript 的内置库或第三方库来实现。 以下是一个简单的示例,展示了如何根据 JSON 文件生成枚举: 1. 首先,创建一个名为 `enum.ts` 的 TypeScript 文件。 2. 在文件中,导入 `fs` 模块(如果使用 Node.js 环境),用于文件系统操作。 3. 定义一个枚举类型,并使用 `enum` 关键字声明它。 4. 使用 `fs` 模块读取 JSON 文件,并解析 JSON 数据。 5. 根据 JSON 数据中的键生成对应的枚举值,并赋值给枚举类型。 6. 将生成的枚举类型导出,以便在其他 TypeScript 文件中使用。 下面是一个示例代码: ```typescript // enum.ts import * as fs from 'fs'; // 定义枚举类型 enum Color { Red, Green, Blue, } // 从 JSON 文件中读取数据 const jsonData = JSON.parse(fs.readFileSync('colors.json', 'utf8')); // 根据 JSON 数据生成枚举值 const colors = Object.keys(jsonData).map(key => { const color = new Color(key); // 使用枚举类型创建新的枚举值 return color; // 返回枚举值对象 }); // 导出枚举类型 export default Color; ``` 上述代码中,假设存在一个名为 `colors.json` 的 JSON 文件,其中包含颜色名称的键值对。通过 `fs.readFileSync` 方法读取 JSON 数据,并使用 `Object.keys` 方法获取所有键。然后,使用 `map` 方法遍历每个键,并使用枚举类型创建对应的枚举值对象。最后,将生成的枚举值对象导出为默认导出,以便在其他 TypeScript 文件中使用。 请注意,上述示例仅展示了如何根据 JSON 数据生成枚举值的基本概念。在实际应用中,可能需要根据具体需求进行适当的修改和扩展。另外,还需要确保正确导入和导出所需的模块和类型,以便在其他 TypeScript 文件中使用生成的枚举类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值