170 похожих чатов

Есть json, в нем данные заполнены типа такого: {

"some_key_a": "Value A",
"some_keyB": "Value B",
"sOMe_KeYY_c": "Value C",
}

Хочу спарсить жсон в Map<string, string> при этом чтобы все ключи были в lowercase и чтобы этот мап был константным.
Не нашел в гугле ни одного способа сделать это,

ПРосто заполнить массив можно вот так

const items = new Map<string, string>(Object.entries(JSON.parse(file)));
но ключи будут не ловеркейсы

Чтобы они были ловеркейсы, я только знаю вариант: пройтись по всем items и изменить значение. Но тогда items не будет const.

Как-то может можно считать сразу с конвертацией ключей в ловеркейс?

11 ответов

20 просмотров

Ну это лучше бы в @js_noobs_ru спросить

Менять поля const объекта ничего не мешает const запрещает делать переприсваивание. А содержимое меняй сколько хочешь

А так — проходишь по entries и записываешь новый объект. Будет примерно так: const result = {}; for (const [key, value] of Object.entries(json)) { result[key.toLowercase()] = value; }

Space-Dev Автор вопроса

спс, только почему value типа unknown? Да без пробел касчу в as string но типа странно

Object.fromEntries(Object.entries(obj))

Так на этот вопрос же сразу же дали максимально правильный ответ)

ну я не видел варианта с Object.fromEntries

Так он неправильный, это будет просто клон объекта

ну я ж не буду еще писать сам .map

Хм, странно, почему unknown, а не any. Интересно было бы посмотреть фрагмент кода

Хех. Как типично. Задача решается в 2 действия, а человек ищет готовое решение🤷‍♂

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта