Tôi đã bắt đầu sử dụng thư viện này và nó có vẻ đầy hứa hẹn:https://github.com/pljson/pljson
Dễ cài đặt và các ví dụ rất tốt.
Để sử dụng thư viện trong ví dụ của bạn, hãy thêm các biến này vào quy trình của bạn ..
mapData json;
results json_list;
status json_value;
firstResult json;
geometry json;
....
Sau đó, bạn có thể thao tác phản hồi dưới dạng đối tượng json.
-- convert the result from the get to a json object, and show some results.
mapData := json(v_ans);
-- Show the status of the request
status := mapData.get('status');
dbms_output.put_line('Status = ' || status.get_string());
IF (status.get_string() = 'OK') THEN
results := json_list(mapData.get('results'));
-- Grab the first item in the list
resultObject := json(results.head);
-- Show the human readable address
dbms_output.put_line('Address = ' || resultObject.get('formatted_address').to_char() );
-- Show the json location data
dbms_output.put_line('Location = ' || resultObject.get('geometry').to_char() );
END IF;
Chạy mã này sẽ xuất ra đầu ra dbms:
Status = OK
Address = "St Paul, MN 55105, USA"
Location = {
"bounds" : {
"northeast" : {
"lat" : 44.9483849,
"lng" : -93.1261959
},
"southwest" : {
"lat" : 44.9223829,
"lng" : -93.200307
}
},
"location" : {
"lat" : 44.9330076,
"lng" : -93.16290629999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 44.9483849,
"lng" : -93.1261959
},
"southwest" : {
"lat" : 44.9223829,
"lng" : -93.200307
}
}
}