使用 Python 从嵌套的 json 中检索值
Retrieving values from nested json using Python
下面有一个 json 字符串,我需要从 _source 中提取 securityId 的所有值。我希望结果是 NGN33 和 NGG2 但是下面的代码只有 returns NGN33.
如何获取代码以遍历数据并从 _source 检索所有 securityId 值?
import json
# JSON string
product = ' {"took":3,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
# Sanitize data
product = product.replace('\n', '').replace('\r', '')
# Convert string to Python dict
product_dict = json.loads(str(product))
print (product_dict['hits']['hits'][1]['_source']['securityId'])
结果 - NGN33
预期结果 - NGN33 和 NGG2
这是完整的新数据
product = ' {"took":8,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533889064177664","_score":5.2289367,"_source":{"id":1230533889064177664,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN34","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:55.444Z","updatedTimestampUtc":"2022-04-17T05:48:48.645Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2034-07-28","lastTradingDate":"2034-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN34"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN34"}],"protobuf":"CICggO7Wge+JERABGgNDTUUiAk5HKgVOR04zNEoXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzNC0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzQtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zNFIVIghFWENIQU5HRSoC\r\nTkcyBU5HTjM0\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544030478405632","_score":5.2289367,"_source":{"id":1185544030478405632,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGH6","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:17.286Z","updatedTimestampUtc":"2022-04-17T05:48:49.130Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2026-03-25","lastTradingDate":"2026-02-25","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGH26"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGH6"}],"protobuf":"CICggJK7wPm5EBABGgNDTUUiAk5HKgROR0g2ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI2LTAzLTI1Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNi0wMi0yNUodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HSDI2UhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdINg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029807316993","_score":5.2289367,"_source":{"id":1185544029807316993,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGV7","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:17.126Z","updatedTimestampUtc":"2022-04-17T05:48:44.373Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2027-10-28","lastTradingDate":"2027-09-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGV27"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGV7"}],"protobuf":"CIGggNK4wPm5EBABGgNDTUUiAk5HKgROR1Y3ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI3LTEwLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNy0wOS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HVjI3UhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdWNw==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1153026101493108737","_score":5.2289367,"_source":{"id":1153026101493108737,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGK4","enabled":true,"createdTimestampUtc":"2021-07-16T15:37:38.862Z","updatedTimestampUtc":"2022-04-17T05:48:44.852Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2024-05-26","lastTradingDate":"2024-04-26","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGK4"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGK4"}],"protobuf":"CIGggOKV5JeAEBABGgNDTUUiAk5HKgROR0s0ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI0LTA1LTI2Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNC0wNC0yNkodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIOIgJUVCoCTkcyBE5HSzRSFCIIRVhDSEFOR0UqAk5H\r\nMgROR0s0\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029245280256","_score":5.2289367,"_source":{"id":1185544029245280256,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGH1","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:16.992Z","updatedTimestampUtc":"2022-04-17T05:48:39.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2031-03-26","lastTradingDate":"2031-02-26","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGH31"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGH1"}],"protobuf":"CICggMa2wPm5EBABGgNDTUUiAk5HKgROR0gxShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMxLTAzLTI2Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMS0wMi0yNkodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HSDMxUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdIMQ==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029245280257","_score":5.2289367,"_source":{"id":1185544029245280257,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGU0","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:16.992Z","updatedTimestampUtc":"2022-04-17T05:48:39.564Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2030-09-28","lastTradingDate":"2030-08-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGU30"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGU0"}],"protobuf":"CIGggMa2wPm5EBABGgNDTUUiAk5HKgROR1UwShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMwLTA5LTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMC0wOC0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HVTMwUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdVMA==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848052273153","_score":5.2289367,"_source":{"id":1230533848052273153,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGF33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.666Z","updatedTimestampUtc":"2022-04-17T05:48:30.908Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-01-29","lastTradingDate":"2032-12-29","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGF33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGF33"}],"protobuf":"CIGggIq+gO+JERABGgNDTUUiAk5HKgVOR0YzM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wMS0yOUodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzItMTItMjlKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR0YzM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HRjMz\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848043884545","_score":5.2289367,"_source":{"id":1230533848043884545,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGZ33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.664Z","updatedTimestampUtc":"2022-04-17T05:48:29.489Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-12-28","lastTradingDate":"2033-11-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGZ33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGZ33"}],"protobuf":"CIGggIa+gO+JERABGgNDTUUiAk5HKgVOR1ozM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0xMi0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMTEtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR1ozM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HWjMz\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
因为 product_dict['hits']['hits'][1]['_source']['securityId']
returns NGN33
因为 product_dict['hits']['hits']
是一个列表,其中有 2 个不同的字典 0,1 正如您现在可能已经知道的那样。
所以只需做 print (product_dict['hits']['hits'][0]['_source']['securityId'], product_dict['hits']['hits'][1]['_source']['securityId'])
这将打印 NGG2 NGN33
更新
这是您可能喜欢的代码
import json
# JSON string
product = '{"took":3,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
# Sanitize data
product = product.replace('\n', '').replace('\r', '')
# Convert string to Python dict
product_dict = json.loads(str(product))
findd = []
fa = product_dict['hits']['hits']
for every_item in fa:
findd.append(every_item['_source']['securityId'])
print(findd)
请原谅我的变量名,我很不擅长。这是 output
请看这个vdo这会解决你的问题
下面有一个 json 字符串,我需要从 _source 中提取 securityId 的所有值。我希望结果是 NGN33 和 NGG2 但是下面的代码只有 returns NGN33.
如何获取代码以遍历数据并从 _source 检索所有 securityId 值?
import json
# JSON string
product = ' {"took":3,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
# Sanitize data
product = product.replace('\n', '').replace('\r', '')
# Convert string to Python dict
product_dict = json.loads(str(product))
print (product_dict['hits']['hits'][1]['_source']['securityId'])
结果 - NGN33
预期结果 - NGN33 和 NGG2
这是完整的新数据
product = ' {"took":8,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533889064177664","_score":5.2289367,"_source":{"id":1230533889064177664,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN34","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:55.444Z","updatedTimestampUtc":"2022-04-17T05:48:48.645Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2034-07-28","lastTradingDate":"2034-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN34"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN34"}],"protobuf":"CICggO7Wge+JERABGgNDTUUiAk5HKgVOR04zNEoXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzNC0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzQtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zNFIVIghFWENIQU5HRSoC\r\nTkcyBU5HTjM0\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544030478405632","_score":5.2289367,"_source":{"id":1185544030478405632,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGH6","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:17.286Z","updatedTimestampUtc":"2022-04-17T05:48:49.130Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2026-03-25","lastTradingDate":"2026-02-25","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGH26"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGH6"}],"protobuf":"CICggJK7wPm5EBABGgNDTUUiAk5HKgROR0g2ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI2LTAzLTI1Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNi0wMi0yNUodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HSDI2UhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdINg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029807316993","_score":5.2289367,"_source":{"id":1185544029807316993,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGV7","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:17.126Z","updatedTimestampUtc":"2022-04-17T05:48:44.373Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2027-10-28","lastTradingDate":"2027-09-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGV27"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGV7"}],"protobuf":"CIGggNK4wPm5EBABGgNDTUUiAk5HKgROR1Y3ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI3LTEwLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNy0wOS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HVjI3UhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdWNw==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1153026101493108737","_score":5.2289367,"_source":{"id":1153026101493108737,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGK4","enabled":true,"createdTimestampUtc":"2021-07-16T15:37:38.862Z","updatedTimestampUtc":"2022-04-17T05:48:44.852Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2024-05-26","lastTradingDate":"2024-04-26","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGK4"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGK4"}],"protobuf":"CIGggOKV5JeAEBABGgNDTUUiAk5HKgROR0s0ShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDI0LTA1LTI2Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAyNC0wNC0yNkodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIOIgJUVCoCTkcyBE5HSzRSFCIIRVhDSEFOR0UqAk5H\r\nMgROR0s0\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029245280256","_score":5.2289367,"_source":{"id":1185544029245280256,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGH1","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:16.992Z","updatedTimestampUtc":"2022-04-17T05:48:39.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2031-03-26","lastTradingDate":"2031-02-26","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGH31"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGH1"}],"protobuf":"CICggMa2wPm5EBABGgNDTUUiAk5HKgROR0gxShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMxLTAzLTI2Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMS0wMi0yNkodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HSDMxUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdIMQ==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1185544029245280257","_score":5.2289367,"_source":{"id":1185544029245280257,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGU0","enabled":true,"createdTimestampUtc":"2021-10-14T09:12:16.992Z","updatedTimestampUtc":"2022-04-17T05:48:39.564Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2030-09-28","lastTradingDate":"2030-08-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGU30"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGU0"}],"protobuf":"CIGggMa2wPm5EBABGgNDTUUiAk5HKgROR1UwShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMwLTA5LTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMC0wOC0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HVTMwUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdVMA==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848052273153","_score":5.2289367,"_source":{"id":1230533848052273153,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGF33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.666Z","updatedTimestampUtc":"2022-04-17T05:48:30.908Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-01-29","lastTradingDate":"2032-12-29","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGF33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGF33"}],"protobuf":"CIGggIq+gO+JERABGgNDTUUiAk5HKgVOR0YzM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wMS0yOUodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzItMTItMjlKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR0YzM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HRjMz\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848043884545","_score":5.2289367,"_source":{"id":1230533848043884545,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGZ33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.664Z","updatedTimestampUtc":"2022-04-17T05:48:29.489Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-12-28","lastTradingDate":"2033-11-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGZ33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGZ33"}],"protobuf":"CIGggIa+gO+JERABGgNDTUUiAk5HKgVOR1ozM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0xMi0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMTEtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR1ozM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HWjMz\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
因为 product_dict['hits']['hits'][1]['_source']['securityId']
returns NGN33
因为 product_dict['hits']['hits']
是一个列表,其中有 2 个不同的字典 0,1 正如您现在可能已经知道的那样。
所以只需做 print (product_dict['hits']['hits'][0]['_source']['securityId'], product_dict['hits']['hits'][1]['_source']['securityId'])
这将打印 NGG2 NGN33
更新
这是您可能喜欢的代码
import json
# JSON string
product = '{"took":3,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":36450,"max_score":5.2289367,"hits":[{"_index":"securitylisting","_type":"securitylistingtype","_id":"1238346721692487680","_score":5.2289367,"_source":{"id":1238346721692487680,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGG2","enabled":true,"createdTimestampUtc":"2022-03-09T02:11:19.898Z","updatedTimestampUtc":"2022-04-14T23:56:51.077Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2032-02-28","lastTradingDate":"2032-01-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGG32"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGG2"}],"protobuf":"CICggLqEud+XERABGgNDTUUiAk5HKgROR0cyShcaC3Byb2R1Y3RUeXBlIghPVVRSSUdIVEoTGgxj\r\ndXJyZW5jeUNvZGUiA1VTREosGgtkZXNjcmlwdGlvbiIdSGVucnkgSHViIE5hdHVyYWwgR2FzIEZ1\r\ndHVyZXNKDBoHZGl2aXNvciIBM0oNGgh0aWNrU2l6ZSIBMUoRGgl0aWNrVmFsdWUiBDEwLjBKFBoG\r\nZXhwaXJ5IgoyMDMyLTAyLTI4Sh0aD2xhc3RUcmFkaW5nRGF0ZSIKMjAzMi0wMS0yOEodGhRpc0Zy\r\nYWN0aW9uYWxDb250cmFjdCIFZmFsc2VKFhoNZGlzcGxheUZhY3RvciIFMC4wMDFKIRoKZXhjaGFu\r\nZ2VJZCITMjIyNDE3MTY1MTAwMjU0MDAzMlIPIgJUVCoCTkcyBU5HRzMyUhQiCEVYQ0hBTkdFKgJO\r\nRzIETkdHMg==\r\n"}},{"_index":"securitylisting","_type":"securitylistingtype","_id":"1230533848048078848","_score":5.2289367,"_source":{"id":1230533848048078848,"assetType":"FUTURE","exchangeCode":"CME","securityCode":"NG","securityId":"NGN33","enabled":true,"createdTimestampUtc":"2022-02-15T12:45:45.665Z","updatedTimestampUtc":"2022-04-17T05:48:29.958Z","productType":"OUTRIGHT","currencyCode":"USD","description":"Henry Hub Natural Gas Futures","divisor":"3","tickSize":"1","tickValue":"10.0","expiry":"2033-07-28","lastTradingDate":"2033-06-28","isFractionalContract":"false","displayFactor":"0.001","exchangeId":"2224171651002540032","aliases":[{"securityIdSource":"TT","securityCode":"NG","securityId":"NGN33"},{"securityIdSource":"EXCHANGE","securityCode":"NG","securityId":"NGN33"}],"protobuf":"CICggIi+gO+JERABGgNDTUUiAk5HKgVOR04zM0oXGgtwcm9kdWN0VHlwZSIIT1VUUklHSFRKExoM\r\nY3VycmVuY3lDb2RlIgNVU0RKLBoLZGVzY3JpcHRpb24iHUhlbnJ5IEh1YiBOYXR1cmFsIEdhcyBG\r\ndXR1cmVzSgwaB2Rpdmlzb3IiATNKDRoIdGlja1NpemUiATFKERoJdGlja1ZhbHVlIgQxMC4wShQa\r\nBmV4cGlyeSIKMjAzMy0wNy0yOEodGg9sYXN0VHJhZGluZ0RhdGUiCjIwMzMtMDYtMjhKHRoUaXNG\r\ncmFjdGlvbmFsQ29udHJhY3QiBWZhbHNlShYaDWRpc3BsYXlGYWN0b3IiBTAuMDAxSiEaCmV4Y2hh\r\nbmdlSWQiEzIyMjQxNzE2NTEwMDI1NDAwMzJSDyICVFQqAk5HMgVOR04zM1IVIghFWENIQU5HRSoC\r\nTkcyBU5HTjMz\r\n"}}]}} '
# Sanitize data
product = product.replace('\n', '').replace('\r', '')
# Convert string to Python dict
product_dict = json.loads(str(product))
findd = []
fa = product_dict['hits']['hits']
for every_item in fa:
findd.append(every_item['_source']['securityId'])
print(findd)
请原谅我的变量名,我很不擅长。这是 output
请看这个vdo这会解决你的问题