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

使用Bash Shell提取JSON对象?

顾俊楚
2023-03-14
问题内容

我有一个以下json文件,我正在寻找一种使用bash shell使用对象路径提取对象的方法。

例如,如果我说extract('production-ap/ap-northeast-1')的话,那将返回我"accessKey": "OO""accountID": "99"

我喜欢bash shell脚本,但了解有限,请帮忙!

谢谢

{
    "production-ap": {
        "ap-northeast-1": {
            "accessKey": "OO",
            "accountID": "99"
        },
        "ap-northeast-2": {
            "accessKey": "AB",
            "accountID": "12"
        }
    },
    "production-eu": {
        "eu-west-1": {
            "accessKey": "CD",
            "accountID": "34"
        },
        "us-east-1": {
            "accessKey": "CD",
            "accountID": "34"
        }
    },
    "production-us": {
        "us-east-1": {
            "accessKey": "EF",
            "accountID": "56"
        },
        "us-east-2": {
            "accessKey": "EF",
            "accountID": "56"
        }
    },
    "stage-ap": {
        "ap-northeast-1": {
            "accessKey": "AK",
            "accountID": "78"
        },
        "ap-northeast-2": {
            "accessKey": "AK",
            "accountID": "78"
        }
    },
    "stage-eu": {
        "eu-west-1": {
            "accessKey": "AK",
            "accountID": "55"
        },
        "eu-west-2": {
            "accessKey": "AK",
            "accountID": "55"
        }
    },
    "stage-us": {
        "us-east-1": {
            "accessKey": "AK",
            "accountID": "30"
        },
        "us-east-2": {
            "accessKey": "AK",
            "accountID": "30"
        }
    },
    "private": {
        "us-west-2": {
            "accessKey": "z2",
            "accountID": "52"
        },
        "us-west-1": {
            "accessKey": "z2",
            "accountID": "52"
        }
    }
}

问题答案:

使用bash这样做会很困难。尽管我不确定它们的可靠性,但似乎确实有将
JSON解析器编写为shell脚本。我建议像jq这样的东西可以作为单独的程序运行并在管道中使用。它是一个独立的可执行文件,用C语言编写。没有理由不能将它与程序一起提供。



 类似资料:
  • 我有一个字符串类型的列,其中包含嵌套字典对象的元素列表。例如 这实际上是火花数据帧中的一列,它是字符串类型的。所以我想知道如何将字符串的内容转换为列表,以便我可以使用json.loads.转换列表中的每个元素 知道吗?

  • 问题内容: 我试图通过将页面ID作为参数来提取喜欢Facebook页面的人的详细信息。我提取了该页面的JSON内容,现在我要从中提取用户的名称和ID。 我该如何实现? 码: JSON: 问题答案: 这样的代码就可以解决问题。 基本上是一个JSONArray,因为它以开头。所以根本行不通,您必须使用JSONArray。 注意: 我尚未编译此代码,但我想我给了您继续进行的想法。另请参考此链接以掌握在J

  • 目前我有以下输入json。我想提取值为attrs.name = Details的对象,并将其附加到输出json中(在attrs数组之外)。目前,虽然我能够将它附加到输出JSON中,但我仍然在attrs中得到该对象的副本。我想要这个副本被删除。 输入 JSON : 属性。name=“详细信息”可以在attrs中按任意顺序排列 输出量的希望值 电流输出 使用的颠簸规格 有没有办法删除仍在 attrs

  • 我需要得到这个json字符串的Works数组: 我试试这个: 但是不要让任何人。。怎么了? PD:Work是一个具有价格、代码和名称值的类。

  • 我得到错误:“com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY位于第1行column 283 path$.items.Promended[0].images” 我请求帮助从json对象提取数据。 我只需要删除类'images',并将'urls'

  • 我想使用PHP从JSON格式的文件中提取键值对输出,并将其放入html表中 正如我们在那篇文章中所讨论的,将问题分开,以避免同一个问题变得杂乱无章。