問題タブ [convertfrom-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
322 参照

powershell - Powershell ConvertFrom-Json で Depth > 1 を省略

このJSONを考えると

{"name":"//iam.googleapis.com/projects/aw-b9a-8231-4086-a297-ca0/serviceAccounts/1081069135974252","asset_type":"iam.googleapis.com/ServiceAccount","resource":{"version":"v1","discovery_document_uri":"https://iam.googleapis.com/$discovery/rest","discovery_name":"ServiceAccount","parent":"//cloudresourcemanager.googleapis.com/projects/1090951556423","data":{"email":"default@aw-d1eb6b9a-8231-4086-a297-ca0.iam.gserviceaccount.com","name":"projects/aw-d1eb6b9a-8231-4086-a297-ca0/serviceAccounts/default@aw-d1eb6b9a-8231-4086-a297-ca0.iam.gserviceaccount.com","oauth2ClientId":"108102635374252","projectId":"aw-d1eb6b9a-8231-4086-a297-ca0","uniqueId":"108108526913531974252"}},"ancestors":["projects/1090951556423","folders/940897400840","folders/140924730741","organizations/437515948226"],"update_time":"2021-02-08T18:23:18Z"}

Windowsコマンドウィンドウから次のスニペットを使用しようとしています.

powershell -nologo -executionpolicy bypass "& {foreach($line in Get-Content temp.txt) {ConvertFrom-Json -InputObject $line}}" > temp2.txt

取得したキーと値をファイル (temp2.​​txt) に取得します。ただし、ConvertFrom-Json は、JSON の最初の階層レベルのみを取得し、現在はdata配列内でダウンしています。私は試し-Depth 3ましたが、このエラーが発生します:

0 投票する
0 に答える
48 参照

json - ネストされた JSON からデータをエクスポートする Powershell

次の JSON ファイルをループして、「snapshot_groupSnapshotChildren」「entitySnapshot_properties」の下のすべての属性を取得する方法についてサポートが必要です。サブグループを別のサブグループに。

JSON ファイル

これは、「snapshot_groupSnapshotChildren」が存在しないというエラーを返す、ループするための私のドラフト コードです。

ネストされたjsonファイルをループして、各「entitySnapshot_properties」の下の属性値を取り除く方法を教えてください。次の属性値を取得することに興味があります

  1. テスト -->_name, _class 2.Guacamole -->_name,_ownerid
  2. Guacamole のハートビート --> _name,monitor_snapshot_hostName
0 投票する
1 に答える
87 参照

powershell - Invoke-WebRequest コンテンツ ConvertFrom-Json: JSON からの変換がエラーで失敗しました: 値の解析中に予期しない文字が見つかりました (CR;LF)

Web リクエストを Web サイトに正常に送信し、応答を受け取りました。

今、私は成功せずにJSONから変換しようとしています:

出力 ( $webrequest.Content ) を Notepad++ にコピーすると、キャリッジ リターン ( CR ) とライン フィード ( LF ) が表示されます。

$webrequest.Content

ここに画像の説明を入力

これは、 CR;LFが電子メール アドレスの途中にあるなどの予期しない原因です。応答が長い場合、webrequest のコンテンツ内に複数のCR;LFがあります。$webrequest.content はTypeName: System.Stringです。

CR;CFを Notepad++ と PrettyPrint で手動で削除すると、次のように動作します。

私はすでにそれを変換しようとしたか、CR;LFをPowerShellで置き換えようとしましたが、成功しませんでした。

私が見つけた唯一の回避策は、コンテンツを .txt ファイルに書き込んで再度読み取ることです。

その後、JSON から変換してデータを操作することができました。

いつものように JSON から直接変換できないのはなぜですか?