Как я могу предотвратить преобразование объекта в строку при добавлении обоих вместе?

public static void main(final String[] args) {
    final String str = "21*90'89\"";
    final Pattern pattern = Pattern.compile("[\\*'\"]");
    final String[] result = pattern.split(str);
    System.out.println(Arrays.toString(result));
}

Это то, что вы ищете ... Программа, описанная выше, создает:

[21, 90, 89]
0
задан Quentin 6 March 2019 в 13:49
поделиться

2 ответа

Кажется, есть недоразумение относительно того, что такое JSON (нотация объектов Javascript). Это просто формат данных, которые отправляются.

То, с чем вы работаете, это просто массив / объект.

Вы никогда не должны изменять строковый объект для добавления данных. Поработайте с самими объектами, а затем приведите их в соответствие.

const data=[{"S.N.":"1","ITEM":"CIGARETTES"," QUANTITY SOLD ":" 3,603,221 ","UNIT OF MEASURE":"CARTONS"},{"S.N.":"2","ITEM":"LIQUOR"," QUANTITY SOLD ":" 5,680,586 ","UNIT OF MEASURE":"BOTTLES"},{"S.N.":"3","ITEM":"BEER"," QUANTITY SOLD ":" 7,581,446 ","UNIT OF MEASURE":"CANS"}]

const res = data.reduce((a,c)=>{
  a[c.ITEM] = c;
  return a;
}, {});

console.log(res);

//then JSON.stringify res

Неуменьшенная версия:

const data=[{"S.N.":"1","ITEM":"CIGARETTES"," QUANTITY SOLD ":" 3,603,221 ","UNIT OF MEASURE":"CARTONS"},{"S.N.":"2","ITEM":"LIQUOR"," QUANTITY SOLD ":" 5,680,586 ","UNIT OF MEASURE":"BOTTLES"},{"S.N.":"3","ITEM":"BEER"," QUANTITY SOLD ":" 7,581,446 ","UNIT OF MEASURE":"CANS"}]

const res = {};
for(let i = 0; i < data.length; i++){
  res[data[i].ITEM] = data[i];
}

console.log(res);

//then JSON.stringify res

0
ответ дан kemicofa 6 March 2019 в 13:49
поделиться

Обведите массив и добавьте каждый к объекту:

const items = [{
    "S.N.": "1",
    "ITEM": "CIGARETTES",
    " QUANTITY SOLD ": " 3,603,221 ",
    "UNIT OF MEASURE": "CARTONS"
  },
  {
    "S.N.": "2",
    "ITEM": "LIQUOR",
    " QUANTITY SOLD ": " 5,680,586 ",
    "UNIT OF MEASURE": "BOTTLES"
  },
  {
    "S.N.": "3",
    "ITEM": "BEER",
    " QUANTITY SOLD ": " 7,581,446 ",
    "UNIT OF MEASURE": "CANS"
  }
]

const output = {}

items.forEach(i => {
  output[i.ITEM] = i
})

console.log(output)

0
ответ дан James Coyle 6 March 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: