linux - 在 Linux 中从 JSON 响应中提取 ID

标签 linux json sed grep extract

这是我来自服务器的 json 响应。我将此响应保存在一个名为 TESTDEMO 的变量中。

{
"objects":[
   {
   "meta":{
          "type":"test-folder",
          "@href":"{HOST_URL}/TsetRESTServices/objects/test-folder/0F071CE4-790D11E3-AAC0-005056A5408D",
           "name":"demo"
          },
   "meta":{
          "type":"test-folder",
          "@href":"{HOST_URL}/TsetRESTServices/objects/test-folder/0F072CE4-190A11E3-AAC0-00AA56A5408K",
           "name":"folder "
          } 
    }]
 }

想要提取文件夹 "name":"demo" 的 ID 0F071CE4-790D11E3-AAC0-005056A5408D。 需要帮助。

最佳答案

试试这个:

根据 name:demo 将你的 JSON 重定向到 sed 命令和 grep。

echo $TESTDEMO | sed 's/{/\n{/g' | grep '"name":"demo"' | cut -d',' -f2 | cut -d'/' -f 7 | cut -d'}' -f 1 | cut -d '"' -f 1

希望这对您有所帮助。

关于linux - 在 Linux 中从 JSON 响应中提取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037645/

相关文章:

c# - 分配给单个属性的多个 JsonProperty 名称

linux - 在 screen 中创建窗口

database - 连接到 SQL Server,出现错误 2013 (HY000) 失去连接

linux - 查找 "string1"并删除它和 "string2"之间的内容

javascript - 如何将 JSON 转换为 GeoJSON

javascript - 使用react.js从api函数获取json数据

bash、sed : replacing pattern with multiline file content

regex - 如何使用 sed 和/或正则表达式使用 bash 修剪文件中的行?

java - 正则表达式风格的比较

linux - centos 7 上启动时加载 rc.local