PostgreSQLに2つのカラム(Idとcoord)を持つテーブルがあります。 カラム "coord" - JSONフォーマットの文字列として保存されたジオ座標。PostgreSQLのjson配列を解析する
例:
[{"lat":49.09693425316379,"lng":33.61747393628419},{"lat":49.11835977646441,"lng":33.638456496907},{"lat":49.12103137811804,"lng":33.63866144845382},{"lat":49.09694682809236,"lng":33.61746879914138},{"lat":49.08920750204137,"lng":33.61734796797724},{"lat":49.07643862058337,"lng":33.61246117651179}]
オブジェクトのJSON配列(POSTリクエスト)のような文字列を送信する方法。私はPostgreにJSONとしてCOORDをstoreing場合
エンティティゲッターとセッター
public class Lepcoord implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 30)
@Column(name = "tplnr")
private String tplnr;
@Size(max = 2147483647)
@Column(name = "coord")
private String coord;
コントローラ
@POST
@RequestMapping(value= "/lep/{voltage}", method = RequestMethod.POST, headers = "Accept=application/json")
@ResponseBody
public ResponseEntity<List<Lepcoord>> lep (@PathVariable String voltage)
{
return new ResponseEntity<>(gisDaoService.lep(voltage), HttpStatus.OK);
}
とサービス
@Transactional(readOnly = true)
public List <Lepcoord> lep (String voltage) {
Query query = this.em.createQuery(
" From Lepcoord ");
List <Lepcoord> rez = null;
try {
rez = (List<Lepcoord>) query.getResultList();
} catch (PersistenceException r) {
return null;
}
return rez;
}
なしHibernateはJSON形式を扱う傾けます。誰かが簡単な方法を知っているかもしれません。 Postgres jsonタイプで作業するための独自のクラスを作成しないでください
それはあなたが実際に求めているものを非常に明確です。どのように解析するのですか? AJAX経由での送信方法私たちが問題を理解できるように、すでに試したことのコードがありますか? – JCooke
私の質問が更新されました。すべて正しいです。しかし、あなたが見ることができるように、答えは です。tplnr: "String"、coord: "String"。 json配列としてcoordを送る必要があります。 – Eugene