2015-07-13 6 views
0

Я пытаюсь измельчить некоторые списки из следующих JSON с помощью pljsonПолучить JSON с pljson & PLSQL

my_json := json('{"Order": 
{"no": 1, "batch": 2,"id": 3,"quantity": 10, 
"sm_pack": [ 
     { 
      "no": 10, 
      "id": 1010, 
      "quantity": 2 
     }, 
     { 
      "no": 11, 
      "id": 1040, 
      "quantity": 8 
     } 
    ], 
    "sm_size": [ 
     { ....etc etc 

Однако, я не могу заставить его работать? я могу напечатать данные, используя следующий синтаксис:

v_myjson.path('Order.sm_pack').print; 
    v_myjson.path('Order.sm_pack[1].no').print; 

Но как я могу Ассинг все эти различные списки переменных для дальнейшей обработки. Я пробовал разные версии «v_list: = json_list (my_json.get (« Order.sm_pack »)). my_json.get ('sm_pack') .. все, что я пробовал свой« NULL SELF », и, похоже, я стал слепым.

с уважением

ответ

1

Печать списки JSON и объекты отличаются от присвоения им некоторых переменных, чтобы управлять ими, я постараюсь ответить на ваш вопрос через ваш пример следующий образом:.

DECLARE 
    obj json := json(); 
    obj_1 json := json(); 
    arr json_list := json_list(); 
    val NUMBER; 
BEGIN 
/*Create your object*/ 
    obj := json('{"Order":{"no":1,"batch":2,"id":3,"quantity":10,"sm_pack":[{"no":10,"id":1010,"quantity":2},{"no":11,"id":1040,"quantity":8}],"sm_size":[{"no":10,"id":1010,"quantity":2},{"no":11,"id":1040,"quantity":8}]}}'); 

/*Assign object*/ 
    obj_1 :=json(obj.get('Order')); 

/*Assign list from within the object*/ 
    arr := json_list(obj_1.get('sm_pack')); 
    arr.print; 
    --or 
    arr := json_list(json(obj.get('Order')).get('sm_pack')); 
    arr.print; 

/*Get object value from within list*/ 
    val := json_ext.get_number(json(arr.get(2)), 'id'); 
    DBMS_OUTPUT.PUT_LINE(VAL); 

END; 
/

Примечание Я использовал get_number функции как ваши значения без одинарных кавычек, в противном случае я бы использовал get_string.

Надеюсь, что это поможет!

+1

Спасибо, вы сделали мой день! – elwis

+0

Как примечание, есть также https://github.com/doberkofler/PLSQL-JSON – doberkofler

Смежные вопросы