возникает список пар key,value и в нём как-то получается, что key не очень хороший идентификатор строки
Key это идентификатор value только в контексте обьекта, и он вполне хорош. На сколько я понял у тебя key это тоже данные (т.к тоже изменяется), а значит и на роль key для React обьекта не подходит.
коллеги, простите за примитивный вопрос, но можно ли сегодня практически рассчитывать на то, что если я выгрузил с сервера json и в нём есть объект с ключами, то при for(k in obj) порядок обхода будет совпадать с тем, что было в json?