将数组中包含的字符串值转换为数字

jag959

使用以下输入示例:

[
  {
    "orgid": "1",
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Doe",
    "phone": "4045551212",
    "tags": [
      "tag1",
      "tag2"
    ],
    "fields": [
      {
        "id": "2",
        "value": "IB4220"
      },
      {
        "id": "3",
        "value": "1994-05-18"
      },
      {
        "id": "12",
        "value": "CONSULTANT"
      },
      {
        "id": "13",
        "value": "[email protected]"
      },
      {
        "id": "6",
        "value": "111 Main Blvd"
      },
      {
        "id": "7",
        "value": "Babylon"
      },
      {
        "id": "8",
        "value": "NY"
      },
      {
        "id": "9",
        "value": "11702-1522"
      },
      {
        "id": "10",
        "value": "US"
      },
      {
        "id": "11",
        "value": ""
      },
      {
        "id": "5",
        "value": "http://www.something.com/janedoe"
      }
    ]
  }
]

我正在尝试使用jq的“ tonumber”功能将“ id”字段转换为数字。

这是我正在使用的jq过滤器,但无济于事...

.[] | {contacts:[.[] | {orgid: .["orgid"],email: .["email"],first_name: .["first_name"],last_name: .["last_name"],phone: .["phone"],tags: .["tags"],fields: [{id: .fields[].id|tonumber, value: .fields[].value}]}]}

它将字段转换为数字;但是会产生以下不良结果(记录重复多次)。

{
  "contacts": [
    {
      "orgid": "1",
      "email": "[email protected]",
      "first_name": "Jane",
      "last_name": "Doe",
      "phone": "4045551212",
      "tags": [
        "tag1",
        "tag2"
      ],
      "fields": [
        {
          "id": 2,
          "value": "IB4220"
        },
        {
          "id": 2,
          "value": "1994-05-18"
        },
        {
          "id": 2,
          "value": "CONSULTANT"
        },
        {
          "id": 2,
          "value": "[email protected]"
        },
        {
          "id": 2,
          "value": "111 Main Blvd"
        },
        {
          "id": 2,
          "value": "Babylon"
        },
        {
          "id": 2,
          "value": "NY"
        },
        {
          "id": 2,
          "value": "11702-1522"
        },
        {
          "id": 2,
          "value": "US"
        },
        {
          "id": 2,
          "value": ""
        },
        {
          "id": 2,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 3,
          "value": "IB4220"
        },
        {
          "id": 3,
          "value": "1994-05-18"
        },
        {
          "id": 3,
          "value": "CONSULTANT"
        },
        {
          "id": 3,
          "value": "[email protected]"
        },
        {
          "id": 3,
          "value": "111 Main Blvd"
        },
        {
          "id": 3,
          "value": "Babylon"
        },
        {
          "id": 3,
          "value": "NY"
        },
        {
          "id": 3,
          "value": "11702-1522"
        },
        {
          "id": 3,
          "value": "US"
        },
        {
          "id": 3,
          "value": ""
        },
        {
          "id": 3,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 12,
          "value": "IB4220"
        },
        {
          "id": 12,
          "value": "1994-05-18"
        },
        {
          "id": 12,
          "value": "CONSULTANT"
        },
        {
          "id": 12,
          "value": "[email protected]"
        },
        {
          "id": 12,
          "value": "111 Main Blvd"
        },
        {
          "id": 12,
          "value": "Babylon"
        },
        {
          "id": 12,
          "value": "NY"
        },
        {
          "id": 12,
          "value": "11702-1522"
        },
        {
          "id": 12,
          "value": "US"
        },
        {
          "id": 12,
          "value": ""
        },
        {
          "id": 12,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 13,
          "value": "IB4220"
        },
        {
          "id": 13,
          "value": "1994-05-18"
        },
        {
          "id": 13,
          "value": "CONSULTANT"
        },
        {
          "id": 13,
          "value": "[email protected]"
        },
        {
          "id": 13,
          "value": "111 Main Blvd"
        },
        {
          "id": 13,
          "value": "Babylon"
        },
        {
          "id": 13,
          "value": "NY"
        },
        {
          "id": 13,
          "value": "11702-1522"
        },
        {
          "id": 13,
          "value": "US"
        },
        {
          "id": 13,
          "value": ""
        },
        {
          "id": 13,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 6,
          "value": "IB4220"
        },
        {
          "id": 6,
          "value": "1994-05-18"
        },
        {
          "id": 6,
          "value": "CONSULTANT"
        },
        {
          "id": 6,
          "value": "[email protected]"
        },
        {
          "id": 6,
          "value": "111 Main Blvd"
        },
        {
          "id": 6,
          "value": "Babylon"
        },
        {
          "id": 6,
          "value": "NY"
        },
        {
          "id": 6,
          "value": "11702-1522"
        },
        {
          "id": 6,
          "value": "US"
        },
        {
          "id": 6,
          "value": ""
        },
        {
          "id": 6,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 7,
          "value": "IB4220"
        },
        {
          "id": 7,
          "value": "1994-05-18"
        },
        {
          "id": 7,
          "value": "CONSULTANT"
        },
        {
          "id": 7,
          "value": "[email protected]"
        },
        {
          "id": 7,
          "value": "111 Main Blvd"
        },
        {
          "id": 7,
          "value": "Babylon"
        },
        {
          "id": 7,
          "value": "NY"
        },
        {
          "id": 7,
          "value": "11702-1522"
        },
        {
          "id": 7,
          "value": "US"
        },
        {
          "id": 7,
          "value": ""
        },
        {
          "id": 7,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 8,
          "value": "IB4220"
        },
        {
          "id": 8,
          "value": "1994-05-18"
        },
        {
          "id": 8,
          "value": "CONSULTANT"
        },
        {
          "id": 8,
          "value": "[email protected]"
        },
        {
          "id": 8,
          "value": "111 Main Blvd"
        },
        {
          "id": 8,
          "value": "Babylon"
        },
        {
          "id": 8,
          "value": "NY"
        },
        {
          "id": 8,
          "value": "11702-1522"
        },
        {
          "id": 8,
          "value": "US"
        },
        {
          "id": 8,
          "value": ""
        },
        {
          "id": 8,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 9,
          "value": "IB4220"
        },
        {
          "id": 9,
          "value": "1994-05-18"
        },
        {
          "id": 9,
          "value": "CONSULTANT"
        },
        {
          "id": 9,
          "value": "[email protected]"
        },
        {
          "id": 9,
          "value": "111 Main Blvd"
        },
        {
          "id": 9,
          "value": "Babylon"
        },
        {
          "id": 9,
          "value": "NY"
        },
        {
          "id": 9,
          "value": "11702-1522"
        },
        {
          "id": 9,
          "value": "US"
        },
        {
          "id": 9,
          "value": ""
        },
        {
          "id": 9,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 10,
          "value": "IB4220"
        },
        {
          "id": 10,
          "value": "1994-05-18"
        },
        {
          "id": 10,
          "value": "CONSULTANT"
        },
        {
          "id": 10,
          "value": "[email protected]"
        },
        {
          "id": 10,
          "value": "111 Main Blvd"
        },
        {
          "id": 10,
          "value": "Babylon"
        },
        {
          "id": 10,
          "value": "NY"
        },
        {
          "id": 10,
          "value": "11702-1522"
        },
        {
          "id": 10,
          "value": "US"
        },
        {
          "id": 10,
          "value": ""
        },
        {
          "id": 10,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 11,
          "value": "IB4220"
        },
        {
          "id": 11,
          "value": "1994-05-18"
        },
        {
          "id": 11,
          "value": "CONSULTANT"
        },
        {
          "id": 11,
          "value": "[email protected]"
        },
        {
          "id": 11,
          "value": "111 Main Blvd"
        },
        {
          "id": 11,
          "value": "Babylon"
        },
        {
          "id": 11,
          "value": "NY"
        },
        {
          "id": 11,
          "value": "11702-1522"
        },
        {
          "id": 11,
          "value": "US"
        },
        {
          "id": 11,
          "value": ""
        },
        {
          "id": 11,
          "value": "http://www.something.com/janedoe"
        },
        {
          "id": 5,
          "value": "IB4220"
        },
        {
          "id": 5,
          "value": "1994-05-18"
        },
        {
          "id": 5,
          "value": "CONSULTANT"
        },
        {
          "id": 5,
          "value": "[email protected]"
        },
        {
          "id": 5,
          "value": "111 Main Blvd"
        },
        {
          "id": 5,
          "value": "Babylon"
        },
        {
          "id": 5,
          "value": "NY"
        },
        {
          "id": 5,
          "value": "11702-1522"
        },
        {
          "id": 5,
          "value": "US"
        },
        {
          "id": 5,
          "value": ""
        },
        {
          "id": 5,
          "value": "http://www.something.com/janedoe"
        }
      ]
    }
  ]
}

所需结果:

[
  {
    "orgid": "1",
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Doe",
    "phone": "4045551212",
    "tags": [
      "tag1",
      "tag2"
    ],
    "fields": [
      {
        "id": 2,
        "value": "IB4220"
      },
      {
        "id": 3,
        "value": "1994-05-18"
      },
      {
        "id": 12,
        "value": "CONSULTANT"
      },
      {
        "id": 13,
        "value": "[email protected]"
      },
      {
        "id": 6,
        "value": "111 Main Blvd"
      },
      {
        "id": 7,
        "value": "Babylon"
      },
      {
        "id": 8,
        "value": "NY"
      },
      {
        "id": 9,
        "value": "11702-1522"
      },
      {
        "id": 10,
        "value": "US"
      },
      {
        "id": 11,
        "value": ""
      },
      {
        "id": 5,
        "value": "http://www.something.com/janedoe"
      }
    ]
  }
]
oguz ismail

这将产生您的预期输出:

.[].fields[].id |= tonumber

|=将路径.[].fields[].id扩展到并应用于tonumber其值。

在jqplay.org上进行演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数字转换为ASCII值或字符并存储在字符串数组中

来自分类Dev

将数组中的元素从数字转换为字符串

来自分类Dev

将字符串转换为数组 JavaScript 中的数字

来自分类Dev

将字符串转换为数字并计算mongodb中数组中的值的总和

来自分类Dev

将包含空格和数字的字符串转换为仅包含数字的int数组

来自分类Dev

如何将元胞数组中的字符串转换为数字替代值?

来自分类Dev

将包含数字的字符串转换为数字向量

来自分类Dev

jQuery:将属性值转换为嵌套数组(字符串转换为数字)

来自分类Dev

将包含数组的字符串转换为实际数组

来自分类Dev

将包含数组元素的字符串转换为数组

来自分类Dev

将包含以空格分隔的数字的字符串转换为整数数组

来自分类Dev

PHP - 将包含特定数字的字符串转换为数组

来自分类Dev

将数字字符串转换为数组中的数字

来自分类Dev

将包含对象的数组转换为字符串

来自分类Dev

将字符串转换为包含字典的数组

来自分类Dev

将数字数组转换为范围字符串

来自分类Dev

将数字字符串转换为数组

来自分类Dev

Java将字符串转换为数字数组

来自分类Dev

将数字隔开的字符串转换为数组

来自分类Dev

在Java中,如何将包含数组的字符串转换为实际的数组

来自分类Dev

将包含 json 对象数组的字符串转换为 Java 中的数组

来自分类Dev

在Hive中,如何将字符串数组转换为数字数组

来自分类Dev

将包含数字范围的GET变量转换为PHP中的字符串

来自分类Dev

将json字符串值转换为数字

来自分类Dev

将字符串输出转换为数字值

来自分类Dev

将字符串输出转换为数字值

来自分类Dev

如何将数组转换为包含JS中的空格元素的字符串?

来自分类Dev

将数字字符串从文件转换为C中的int数组

来自分类Dev

用逗号分隔的字符串将数字转换为JavaScript中的整数数组

Related 相关文章

  1. 1

    如何将数字转换为ASCII值或字符并存储在字符串数组中

  2. 2

    将数组中的元素从数字转换为字符串

  3. 3

    将字符串转换为数组 JavaScript 中的数字

  4. 4

    将字符串转换为数字并计算mongodb中数组中的值的总和

  5. 5

    将包含空格和数字的字符串转换为仅包含数字的int数组

  6. 6

    如何将元胞数组中的字符串转换为数字替代值?

  7. 7

    将包含数字的字符串转换为数字向量

  8. 8

    jQuery:将属性值转换为嵌套数组(字符串转换为数字)

  9. 9

    将包含数组的字符串转换为实际数组

  10. 10

    将包含数组元素的字符串转换为数组

  11. 11

    将包含以空格分隔的数字的字符串转换为整数数组

  12. 12

    PHP - 将包含特定数字的字符串转换为数组

  13. 13

    将数字字符串转换为数组中的数字

  14. 14

    将包含对象的数组转换为字符串

  15. 15

    将字符串转换为包含字典的数组

  16. 16

    将数字数组转换为范围字符串

  17. 17

    将数字字符串转换为数组

  18. 18

    Java将字符串转换为数字数组

  19. 19

    将数字隔开的字符串转换为数组

  20. 20

    在Java中,如何将包含数组的字符串转换为实际的数组

  21. 21

    将包含 json 对象数组的字符串转换为 Java 中的数组

  22. 22

    在Hive中,如何将字符串数组转换为数字数组

  23. 23

    将包含数字范围的GET变量转换为PHP中的字符串

  24. 24

    将json字符串值转换为数字

  25. 25

    将字符串输出转换为数字值

  26. 26

    将字符串输出转换为数字值

  27. 27

    如何将数组转换为包含JS中的空格元素的字符串?

  28. 28

    将数字字符串从文件转换为C中的int数组

  29. 29

    用逗号分隔的字符串将数字转换为JavaScript中的整数数组

热门标签

归档