Сравните JSON и получите данные, измененные в Postgres - PullRequest
0 голосов
/ 04 февраля 2020
    fpo_data = '["{\"bene_first_name\":{\"value\":\"Chris1\"},\"bene_last_name\":{\"value\":\"Ronald\"}}",
    "{\"bene_first_name\":{\"value\":\"John\"},\"bene_last_name\":{\"value\":\"Wick\"}}",
    "{\"bene_first_name\":{\"value\":\"James\"},\"bene_last_name\":{\"value\":\"Cooper\"}}"]';

    fpo_data_compare = '["{\"bene_first_name\":{\"value\":\"Chris1\"},\"bene_last_name\":{\"value\":\"Ronald\"}}",
    "{\"bene_first_name\":{\"value\":\"Johnson\"},\"bene_last_name\":{\"value\":\"Wick\"}}",
    "{\"bene_first_name\":{\"value\":\"James\"},\"bene_last_name\":{\"value\":\"Richard\"}}"]';

В моей хранимой процедуре у меня есть две JSON переменные fpo_data и fpo_data_compare. Мне нужно сравнить два json данных и найти разницу между двумя

Например, в fpo_data bene_first_name во втором индексе есть John, тогда как в fpo_data_compare bene_first_name в второй индекс Johnson и в fpo_data bene_last_name в третьем индексе Cooper, тогда как в fpo_data_compare bene_last_name в третьем индексе Richard

Я хочу сформировать json объект говорит, что сравниваемые данные похожи на

     {
     "{{\"bene_first_name\": \"Chris1\"},{\"bene_last_name\": \"Ronald\"},{\"is_changed\": \"false\"}}",
     "{{\"bene_first_name\": \"John\"},{\"bene_last_name\": \"Wick\"},{\"is_changed\": \"true\"},{\"field\": \"bene_first_name\"},{\"new_value\": \"Johnson\"}}",
     "{{\"bene_first_name\": \"James\"},{\"bene_last_name\": \"Cooper\"},{\"is_changed\": \"true\"},{\"field\": \"bene_last_name\"},{\"new_value\": \"Richard\"}}"
     }

Как я могу добиться этого, используя al oop или есть какие-то встроенные функции, которые сравнивают данные json и выдают результат как или аналогичный вышеприведенному выводу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...