小编Leo*_*o Y的帖子

基于版本的Json反序列化

我正在寻找一种使用Json本身中的数据从Json进行反序列化以使其依赖于版本的方法。我打算使用ServiceStack.Text.JsonDeserializer,但可以切换到另一个库。

例如,我想在JSON中将v1.0的数据定义为:

{
    version: "1.0"
    condition: "A < B"
}
Run Code Online (Sandbox Code Playgroud)

然后,数据的下一个版本(例如2.0)为:

{
    version: "2.0"
    condition: ["A < B", "B = C", "B < 1"]
}
Run Code Online (Sandbox Code Playgroud)

最后,我希望能够验证数据的版本以了解如何正确反序列化JSON。

更新:

已知产品中似乎没有任何形式的对版本相关的JSON(反序列化)的隐式支持。

正确的解决方案似乎是通过仅对版本部分进行反序列化来拆分任务,然后对正确的类型使用隐式(反序列化)。

感谢所有对此问题有知识和想法的人。

c# json-deserialization

4
推荐指数
2
解决办法
1921
查看次数

无法在新的 GKE 集群上创建集群角色绑定

我配置了一个禁用基本身份验证的托管 GKE 集群(Kubernetes 版本 1.9.4-gke.1)。当我尝试创建 RBAC 配置(用于运行我的入口控制器)时,出现以下错误: Error from server (Forbidden): clusterrolebindings.rbac.authorization.k8s.io is forbidden: User "XXX@gmail.com" cannot create clusterrolebindings.rbac.authorization.k8s.io at the cluster scope: Required "container.clusterRoleBindings.create" permission.

我发现两个相关问题:

  1. 集群管理的 GKE 集群角色绑定失败并出现权限错误
  2. 用户“xxx”无法在集群范围内创建 clusterrolebindings.rbac.authorization.k8s.io

第一个包含为集群启用基本身份验证时的解决方案,但这不是我的情况。第二个问题没有答案。

我的用户不是 GCP 项目的所有者,但editor在该项目中具有角色。我发现其他人也观察到了这种行为。

请告知当集群禁用基本身份验证时,如何在 GKE 集群上添加缺少的权限或以其他方式定义的 RBAC。

google-kubernetes-engine

3
推荐指数
1
解决办法
2306
查看次数