Проблемы преобразования XML в Json при определении массивов - PullRequest
1 голос
/ 27 апреля 2019

У меня ниже xml, а InsID находится в 2 местах, первый находится непосредственно под PartyDownloadInfo и происходит только один раз, а ItemId также находится под элементом PartyM, и здесь он повторяется и происходит несколько раз. Во время преобразования xml в JSON, как настраивать ItemId как массив только под PartyM. Ниже показано, как я добавил массив в коде преобразования JSON, и не дал ожидаемого результата, в результате чего ItemId был представлен как массив в обоих местах.

JsonConfig['array-element-names'] = ['ItemId']



<tns:PartyDownloadInfo>
<tns:ItemId>
<tns:InsId>100000</tns:InsId>
<tns:EffectiveDt>2019-04-23</tns:EffectiveDt>
</tns:ItemId>
<tns:PartyM>
<tns:ItemId>
<tns:InsId>111111</tns:InsId>
</tns:ItemId>
<tns:ItemId>
<tns:InsId>122222</tns:InsId>
</tns:ItemId>
</tns:PartyM>
</tns:PartyDownloadInfo>

фактический результат моего кода конверсии Json:

{
  "PartyDownloadInfo": {
    "ItemId":[ 
      {
        "InsId": "100000", 
        "EffectiveDt": "2019-04-22" 
      }
    ],
    "PartyM": {
      "ItemId": [
        {
          "InsId": "111111"
        },
        {
          "InsId": "122222"
        }
      ]
    }
  }
}

ожидаемый результат должен быть:

{
  "PartyDownloadInfo": {
    "ItemId": {
      "InsId": "100000", 
      "EffectiveDt": "2019-04-22" 
    },
    "PartyM": {
      "ItemId": [
        {
          "InsId": "111111"
        },
        {
          "InsId": "122222"
        }
      ]
    }
  }
}
...