मेरे पास एक जेसन ऑब्जेक्ट है जो इस तरह दिखता है:

{
    "data": {
        "id" : 1234,
        "details": [
            {
                "vid": "332",
                "long": -79,
                "lat": 45
            },
            {
                "vid": "33",
                "long": -77,
                "lat": 32
            }
        ]
    }
}

मैं इस डेटा से एक सीएसवी फ़ाइल आउटपुट करना चाहता हूं जो इस तरह दिखता है:

"1234","332","-79", "45"
"1234", "33", "-77", "32"

उदा. मैं किसी अन्य नोड की सरणी की वस्तुओं में से प्रत्येक में नोड से कुछ जोड़ना चाहता हूं, अनिवार्य रूप से डेटा को डी-सामान्यीकृत करना चाहता हूं।

क्या जेसन डेटा में कहीं और से मूल्य तक पहुंचने का कोई तरीका है?

0
user1279887 12 अगस्त 2020, 19:27

1 उत्तर

ऐसा करने के लिए आप एक चर का उपयोग कर सकते हैं:

jq '.data.id as $id | .data.details[] | [$id, .vid, .long, .lat]' file.json
1
choroba 12 अगस्त 2020, 19:41