

現在、Pythonの勉強をしており、APIを利用したプログラムを作成しています。  
が、JSONにセットする値に1次元配列を利用したいのですが、うまくいきません。  
どのように記述すればよろしいでしょうか。

わかりづらい点もあるかと思いますが、ご教授いただけないでしょうか…

これを↓

[code]

    json_data = {
        'destination': {
            'XXX': XX,
        },
        'source': {
            'ipRanges': [
                "11111",    // ★ここを配列にしたい
                "22222"     // ★ここを配列にしたい
              ]
        }
    }
    
[/code]

イメージとしてはこうしたい↓です。（エラーとなってしまいますが、、、）

[code]

    json_data = {
        'destination': {
            'XXX': XX,
        },
        'source': {
            'ipRanges': [
                test["values"] //★配列について記述はしていないですが、定義してあるものと考えていただければ幸いです。
              ]
        }
    }
    
[/code]


CC BY-SA 4.0
2022-04-07T05:31:38.973
88208
2022-04-08T01:54:44.443
2022-04-08T01:54:44.443
3060
50785
question
python json api array
jsonに1次元配列をセットする場合の記述について


このようなイメージであっているのでしょうか？

[code]

    import json
    r_array = [
        [1, 2, 3, 4, 5],
        [3, 5, 7, 8, 9],
    ]
    
    json_data = {
        'destination': {
            'XXX': "XX",
        },
        'source': {
            'ipRanges': r_array
        }
    }
    
    print(json_data)
    
    json_str = json.dumps(json_data, indent=2)
    
    print(json_str)
    
    
[/code]

出力結果：

[code]

    {'destination': {'XXX': 'XX'}, 'source': {'ipRanges': [[1, 2, 3, 4, 5], [3, 5, 7, 8, 9]]}}
    {
      "destination": {
        "XXX": "XX"   
      },
      "source": {
        "ipRanges": [
          [
            1,
            2,
            3,
            4,
            5
          ],
          [
            3,
            5,
            7,
            8,
            9
          ]
        ]
      }
    }
    
[/code]

<追記：Numpy使用時>

[code]

    from array import array
    
    
    import json
    import numpy as np
    
    ra_array = np.array(
        [
            [0, 1, 2],
            [3, 4, 5],
            [6, 7, 8]
        ]
    )
    
    
    json_data = {
        'destination': {
            'XXX': "XX",
        },
        'source': {
            'ipRanges': ra_array.tolist()
        }
    }
    
    print(json_data)
    
    json_str = json.dumps(json_data, indent=2)
    
    print(json_str)
    
    
[/code]

配列を扱いたい場合、Numpyを使用したほうが便利かと思いますので、一応追記しました。


CC BY-SA 4.0
2022-04-07T05:47:58.373
88209
2022-04-07T05:56:20.770
2022-04-07T05:56:20.770
32891
32891
88208
answer