をキー名。私は、などなど_22
として数値でキー名を持つJSON
出力へのアクセス、_155
を持っている私は、これらのキー名のすべてを翻訳するものとのマッピングを作成しましたが、私はjson
を更新する方法を把握しようと苦労しています元のキー名をマップの元のキー名に置き換えます。更新ダイナミックJSONは、私は私の周り私の頭をラップしようとしている、興味深い状況がある
FieldID
は、アンダースコアなしで、ソースにjson
データに対応:ここで
は、実際のフィールド名が含まれている私のjson
文字列の例です。ここ
[
{
"FieldID": "7",
"FieldName": "Emp ID",
"IsSortableInput": "0",
"IsFilterableInput": "0",
"ViewAlias": "EmpID",
"LogicOperator": "IN",
"AllowMultipleValues": "1",
"IsViewable": "1",
"PrimaryOnly": "0",
"DisplayOrder": "1"
},
{
"FieldID": "3",
"FieldName": "QID",
"InputTypeID": "1",
"FieldPlaceholder": "Enter Employee Name",
"IsSortableInput": "1",
"IsFilterableInput": "1",
"ViewAlias": "QID",
"LogicOperator": "IN",
"AllowMultipleValues": "1",
"IsViewable": "1",
"PrimaryOnly": "0",
"DisplayOrder": "2",
"FieldTypeDesc": "PeopleSearch"
},
{
"FieldID": "6",
"FieldName": "NTID",
"IsSortableInput": "1",
"IsFilterableInput": "0",
"ViewAlias": "NTID",
"LogicOperator": "IN",
"AllowMultipleValues": "1",
"IsViewable": "1",
"PrimaryOnly": "0",
"DisplayOrder": "3"
}
]
私の目標は、マップ(定義されたJSON)でキーの名前を検索し、それらの名前を変更し、ソースjson
文字列をループしています。最終的に私の元JSONデータにEmp ID
で_7
を交換します。
出典JSON:私もこのアプローチを開始する場所にはかなり失われています
[
{
"QID": "Q123",
"Emp ID": "E12345"
},
{
"QID": "X123",
"Emp ID": "E34567"
}
]
:
[
{
"_3": "Q123",
"_7": "E12345"
},
{
"_3": "X123",
"_7": "E34567"
}
]
所望の出力にそれを回す、ソースJSONを変更することです。わからないキー名を名前を変更することができるかどうか、彼らはこれを取り組む上でいくつかの提案を探しているプロセスなど
で削除する必要がある場合。
私は、正しい名前を持つ新しいJSONファイルを作成し直します。 – wvdz
@wvdz - 正しい、それは私がデータの名前を変更して行うことをしようとしていますどのような本質的です。ソースjsonに直接アクセスして名前を変更する必要はありません。フィールドの名前とその名前が対応しています。 – SBB
これを行うには、基本的にカスタムJSONパーサーを作成する必要があります。 JSONファイルがRAMに格納されているなど膨大な理由がある場合を除き、組み込みパーサーを使用してJavaScript配列としてデコードし、それを操作してからもう一度デコードすることをお勧めします。 –