2015-01-04 2 views
0

Я пытаюсь отобразить json-объект из таблицы в экран пользовательского интерфейса, используя clojure, sql korma и angularJS. У меня есть таблица с типом данных столбца как json. База данных - postgres. Когда я пытаюсь запустить код, я получаю сообщение об ошибке. Ниже приведен код для запроса БД.преобразование объекта json в строку в clojure


          
  
(ns error_api_transactions.models.bre_dve_errors_api_transactions 
 
    (:require [debug.logger :as logger]) 
 
    (:use [korma.core] 
 
     [core.config.db] 
 
     [utils.gen_password] 
 
     [core.file-store] 
 
     [utils.uuid :as utils-uuid])) 
 

 

 
(defentity bre_errors 
 
    (pk :id) 
 
    (table :bre_errors) 
 
    (database master-db)) 
 

 
(defentity dve_errors 
 
    (pk :id) 
 
    (table :dve_errors) 
 
    (database master-db)) 
 

 
(defentity vendor_detail 
 
    (pk :id) 
 
    (table :vendor) 
 
    (database master-db)) 
 

 

 
    (defn get-all-bre-errors 
 
     ^{:Comments ""} 
 
     [] 
 
     
 

 
     
 
     
 
     (select bre_errors 
 
         (fields [:vendor_id :vendor_id] 
 
           [:error_json] 
 
           [:error_xml :error_xml] 
 
           [:input :input] 
 
           [:created_on :created_on] 
 
           [:updated_on :updated_on] 
 
           [:deleted_on :deleted_on] 
 
           [:po_number :po_number] 
 
           [:purchase_order_id :purchase_order_i]) 
 
         ) 
 

 
    )

Ошибка: com.fasterxml.jackson.core.JsonGenerationException: Может не JSON закодировать объект класса: класс org.postgresql.util.PGobject: [ "Контейнерные Числа во всех узлах должны быть согласованы"]

Я не знаю, можем ли мы использовать любые методы toString для java здесь для enter code here конвертировать JSON в обычную строку. Любая помощь очень ценится

ответ

0

В качестве типа данных: error_json column является «json» в базе данных postgres, поэтому вы должны привести его в «строку» из «PGobject json».

Да, вы можете использовать toString для изменения типа.

ниже фрагмент кода:

(map (fn [value] (update-in value [:error_json] #(.toString %))) (get-all-bre-errors)) 

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

  • Нет связанных вопросов^_^