2

私はMySQLデータベーステーブルを持っています。つまりds_message、テンプレートとJSONオブジェクトが含まれています。テンプレート文字列に存在するキーを JSON キーで見つけ、そのキーを JSON 値に置き換えたいと思います。

テーブル:

_____________________________________________________________________________________
id  template                                  key_value
_____________________________________________________________________________________
1  'Dear {a}, the price of {b} is {c}'       '{"a":"John", "b":"bat", "c":"$10"}'
2  'Dear {i}, you selected the product {j}'  '{"i":"Emma", "j":"Jam"}'

文字列を取得するにはSQL Selectステートメントが必要で、Dear John, the price of bat is $10各テンプレートにはN個のキーがあり、テーブル全体で同一ではありません。

テーブル構造:

CREATE TABLE `ds_message` (
  `id` int NOT NULL,
  `template` varchar(500) NOT NULL,
  `key_value` varchar(500) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='';

ALTER TABLE `ds_message`
  ADD PRIMARY KEY (`id`);

INSERT INTO `ds_message` (`id`, `template`, `key_value`) VALUES
(1, 'Dear {a}, the price of {b} is {c}', '{"a":"John", "b":"bat", "c":"$10"}');

INSERT INTO `ds_message` (`id`, `template`, `key_value`) VALUES
(2, 'Dear {i}, you selected the product {j}', '{"i":"Emma", "j":"Jam"}');

期待される結果:

  1. 親愛なるジョンへ、バットの値段は10ドルです
  2. 親愛なるエマ、あなたは製品ジャムを選択しました

SELECTステートメントまたはストアドプロシージャで私を助けてください。

4

1 に答える 1