Могу ли я удалить кавычки только вокруг ключей и одного значения в виде строки JSON.? - PullRequest
0 голосов
/ 14 января 2020

У меня есть эта строка

{"key1":"1","key2":"someString"}

Я хотел бы прочитать:

{key1:1,key2:"someString"}

Я могу легко удалить цитаты из всего. Но мне все еще нужно второе значение с кавычками вокруг него для запроса graphql в React. Извините, если я объясню, почему.

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Попробуйте это:

const
    input = '{"key1":"1","key2":"someString"}',
    output = '{' + Object.entries(JSON.parse(input)).map(([key, value]) => `${key}: ${isNaN(Number(value)) ? `"${value}"` : value}`).join() + '}';
    
console.log(output);
0 голосов
/ 14 января 2020

Чтобы удалить кавычки из ключей, вы можете использовать регулярное выражение для замены "\w+": на слово + двоеточие:

let input = '{"key1":"1","key2":"someString"}';
let output = input.replace(/"(\w+)":/g, '$1:');
console.log(output);

По каждому вопросу редактирования, кажется, цифры c значения также требуют удаления кавычек:

let input = '{"key1":"1","key2":"someString"}';
let output = input
  .replace(/"(\w+)":/g, '$1:')
  .replace(/"(\d+)"/g, '$1');
console.log(output);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...