如何使用PL / JSON创建新的JSON对象?

时间:2014-12-07 21:09:34

标签: json plsql pljson

我想说我想在PL / JSON中创建以下JSON结构:

{
  "foo": "bar",
  "baz": 42,
  "foobar": [ 1, 2, 3 ]
}

我该怎么做?

1 个答案:

答案 0 :(得分:3)

最简单的方法是简单地将字符串传递给JSON类型构造函数,如下所示:

declare
  json_obj json;
begin
  json_obj := json('{"foo":"bar", "baz":42, "foobar": [1,2,3]}');
end;
/

但是,让我们假装您正在从数据库中的数据构建此JSON对象。然后你会做类似以下的事情:

declare
  json_obj json := json();
  json_ar  json_list := json_list();
begin
  -- Add the string elements
  json_obj.put('foo', 'bar');
  json_obj.put('baz', 42);

  -- Add elements to the array ("list" in PL/JSON)
  json_ar.append(1);
  json_ar.append(2);
  json_ar.append(3);
  -- Add the array to the object
  json_obj.put('foobar', json_ar);

  -- Print it just for fun
  json_obj.pretty_print
end;
/