2016-06-28 6 views
-4
{ 
"A1":{ 
     "name":"Ad hoc", 
     "projectId":0 
     }, 
"X2":{ 
     "name":"BBB", 
     "projectId":101 
     }, 
"AB":{ 
     "name":"CCC", 
     "projectId":102 
     }, 
"recordsCount":3 
} 

このJSONでは、値を抽出する方法は?私は、のような出力を必要とする属性名を持たないJSON値を抽出するには?

A1, Ad hoc 
X2, BBB 
AB, CCC 

エキスパートの入力が分かりました。

+0

試したコードをいくつか追加してください。 –

+0

私は$ [*] ..名前を試しましたが、A1、X2、ABの値を取得する方法はわかりません。 –

+0

Sachin Gupta、あなたが答えを知っているなら、助けてください。 TalendでJsonパスを使用して、親値A1、X2、ABを抽出する必要があります –

答えて

1

分析

のXPathは、名前の属性を読み取ることができません。常に例外が発生します。値を取得する場合は、JsonPathを使用する必要があります。その後も

ソリューション

、それはそうでない最初のレベルが同様に消費され、周囲のブラケットを追加することは理にかなって:

[ 
    { 
"A1":{ 
     "name":"Ad hoc", 
     "projectId":0 
     }, 
"X2":{ 
     "name":"BBB", 
     "projectId":101 
     }, 
"AB":{ 
     "name":"CCC", 
     "projectId":102 
     }, 
"recordsCount":3 
    } 
] 

あなたはjsonpath.comに正しいクエリを試すことができます。私にとっては(追加の括弧つきで)、パス$.*が働いた。

値を抽出するには、ファイルまたはREST要求を使用する場合、TalendにtExtractJSONFieldsコンポーネントを使用する必要があります。

有効なJSON queryは、英数字識別子のフィールドの場合は[0]と簡単に一致します。

関連する問題