sql >> Databáze >  >> RDS >> Oracle

pracovat s json v oracle

Začal jsem používat tuto knihovnu a zdá se slibná:https://github.com/pljson/pljson

Snadná instalace a příklady jsou dobré.

Chcete-li použít knihovnu ve svém příkladu, přidejte tyto proměnné do své procedury..

mapData     json;
results     json_list;
status      json_value;
firstResult json;
geometry    json;

....

Poté můžete s odpovědí manipulovat jako s objektem 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;

Spuštění tohoto kódu jej vypíše na výstup 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
    }
  }
}


  1. Předávání ID uživatele spouštěčům PostgreSQL

  2. INSERT INTO ... FROM SELECT ... VRACENÍ id mapování

  3. Zastavit (dlouho) spouštění SQL dotazu v PostgreSQL, když relace nebo požadavky již neexistují?

  4. MySQL:Zobrazit s poddotazem v omezení klauzule FROM