2017-07-14 11 views
1
{ "Labels": [ {"Test": 99.25341796875, "Name": "Skateboard" }, { "Test": 9.25341796875, "Name": "Sport" }, { "Test": 49.24723052978516, "Name": "People" }]} 

に基づいてデータをフェッチここで要求された出力は以下のようになります。試験値< 50がそのようにテスト=マイナー</p> <p>に置き換える場合、テスト値は> 50 [テスト=主要 を交換する場合、私は以下の条件 に基づいTesttagを除去する必要がキー

{ "Labels": [ {"High": 99.25341796875, "Name": "Skateboard" }, { "Low": 9.25341796875, "Name": "Sport" }, { "Low": 49.24723052978516, "Name": "People" }]} 
+0

あなたはすべてのオブジェクトにこのコンテンツをシリアル化していますか? JavaやC#のような? – Coder

+0

アレックスの書式設定に感謝します。私はPerl/Unixでそれが必要です。 –

+0

#!/ usr/bin/perl JSONを使用してください。 Data :: Dumperを使用します。 "信頼":99.25341796875、 "名前": "スケートボード"}、{"信頼":9.25341796875、 "名前": "スポーツ"}、{"信頼":49.24723052978516、 "名前": "人"}}} '; $ text = decode_json($ json); 印刷ダンピング$テキスト; $ key = "Confidence"; if(exists($ text {$ key})) { "見つかった信頼度\ n"; #私は確信度50のチェクシング条件を使用して適用し、タグをモノラルおよびメジャーに置き換える必要があります } else { print "信頼できませんでした"; } これは私がこれまで行ったことです。 Pl –

答えて

1

jqソリューション:

jq '.Labels |= map(.[(if .Confidence > 50 then "High" else "Low" end)]= .Confidence | del(.Confidence))' yourfile.json 

出力:

{ 
    "Labels": [ 
    { 
     "Name": "Skateboard", 
     "High": 99.25341796875 
    }, 
    { 
     "Name": "Sport", 
     "Low": 9.25341796875 
    }, 
    { 
     "Name": "People", 
     "Low": 49.24723052978516 
    } 
    ] 
} 
+0

@PraveenPokharia、私はアレックスではありません – RomanPerekhrest

+0

ありがとうRomanPerekhrest ..... u r awesum man !!!! –

+0

上記のコマンドの出力をファイルにリダイレクトできません。提案してください。画面に表示されています。 –

関連する問題

 関連する問題