Динамически генерируемые нулевые значения JSONObject преобразуются в строку после сохранения и получения ее из базы данн ⇐ JAVA
Динамически генерируемые нулевые значения JSONObject преобразуются в строку после сохранения и получения ее из базы данн
I am getting a JSON object from google maps and saving to MySQL DB using JdbcTemplate in a longBLOB data type. The format of JSON before saving is:-
{"circle_bound":["-109.99501557703037 51.202142415852514, -105.00345854406338 51.202142415852514, -105.00345854406338 47.966570619670584, -109.99501557703037 47.966570619670584, -109.99501557703037 51.202142415852514",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"count_values":["27,019"],"query_shapes":["#POLYGON#|-109.99501557703037 51.202142415852514, -105.00345854406338 51.202142415852514, -105.00345854406338 47.966570619670584, -109.99501557703037 47.966570619670584, -109.99501557703037 51.202142415852514"],"query_type":["CIRCLE"],"total_count":1,"total_points":[[{"lat":49.58436,"lng":-107.49924},180091.11,49.58436,-107.49924,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Radius"],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]]} But while retrieving the same value from DB using jdbcTemplate the null values in json is converted to string as below:-
{"circle_bound":["-94.89424950944918 48.71944807447331, -93.38547461164457 48.71944807447331, -93.38547461164457 47.71414655188057, -94.89424950944918 47.71414655188057, -94.89424950944918 48.71944807447331",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"count_values":["14,872"],"query_shapes":["#POLYGON#|-94.89424950944918 48.71944807447331, -93.38547461164457 48.71944807447331, -93.38547461164457 47.71414655188057, -94.89424950944918 47.71414655188057, -94.89424950944918 48.71944807447331"],"query_type":["CIRCLE"],"total_count":1,"total_points":[[{"lat":48.216797,"lng":-94.13986},55954.83,48.216797,-94.13986,"null","null","null","null","null","null","null","null","null","null","null","null","null","null","Radius"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"]]} The table in which the JSONObject is saved is a child table named as "". So below I am sharing the code of JdbcTemplate query:-
@Override public UserSearchCriteriaData getUserParticularSearchHistory(Map map) throws CustomException { String accountUserId = map.get("accountUserId"); String accountId = map.get("accountId"); String searchHistoryId = map.get("searchHistoryId"); String userSearch = "select * from search_criteria_history where user_id=? and account_id=? and id=?"; String userSearchMap = "select * from search_criteria_history_map where criteria_id=?"; try { logger.debug("Fetching user history search data from db: " + accountUserId); Object[] parameters = new Object[] { accountUserId, accountId, searchHistoryId }; List queryForList = jdbcTemplateIRIS.queryForList(userSearch, parameters); Object[] parametersMap = new Object[] {searchHistoryId}; List mapQueryForList = jdbcTemplateIRIS.queryForList(userSearchMap, parametersMap); if (queryForList.size() > 0) { Map object = queryForList.get(0); Map objectMap = null; if(mapQueryForList.size()>0) { objectMap = mapQueryForList.get(0); } int id = (Integer) object.get("id"); int accountID = (Integer) object.get("account_id"); int userId = (Integer) object.get("user_id"); HashMap searchCriteria = (HashMap) SerializationUtils .deserialize((byte[]) object.get("search_criteria")); if(searchCriteria.containsKey("Ref_SIC_Description")&&searchCriteria.get("Ref_SIC_Description")[0].trim().equalsIgnoreCase("")) { String[] keyMap=searchCriteria.get("Ref_keywordSICMap"); if(keyMap!=null && keyMap.length>0) { String[] manipulateString=keyMap[0].split(" - "); searchCriteria.put("Ref_SIC_Description",new String[] {manipulateString[1]}); } } String databseType = (String) object.get("database_type"); Timestamp requestCompleteTime = (Timestamp) object.get("date"); long totalCount = (Long) object.get("search_count"); String logicalName = (String) object.get("logical_search_name"); UserSearchCriteriaData data = new UserSearchCriteriaData(id, accountID, userId, searchCriteria, databseType, requestCompleteTime, totalCount, logicalName, "",""); UserSearchCriteriaMapData tempMapParams = new UserSearchCriteriaMapData((int)objectMap.get("map_id"),SerializationUtils .deserialize((byte[])objectMap.get("search_criteria")) ,(String)objectMap.get("description"),(int)objectMap.get("criteria_id") ); data.setCriteriaMapData(tempMapParams); return data; } } catch (DataAccessException e) { throw new CustomException("encountered error while fetching revised search data from db:" + userSearch, AConstants.ERROR_4520, new Throwable(), true); } return null; } I need help and suggestions to get the same JSONObject back.
Источник: https://stackoverflow.com/questions/780 ... fter-savin
I am getting a JSON object from google maps and saving to MySQL DB using JdbcTemplate in a longBLOB data type. The format of JSON before saving is:-
{"circle_bound":["-109.99501557703037 51.202142415852514, -105.00345854406338 51.202142415852514, -105.00345854406338 47.966570619670584, -109.99501557703037 47.966570619670584, -109.99501557703037 51.202142415852514",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"count_values":["27,019"],"query_shapes":["#POLYGON#|-109.99501557703037 51.202142415852514, -105.00345854406338 51.202142415852514, -105.00345854406338 47.966570619670584, -109.99501557703037 47.966570619670584, -109.99501557703037 51.202142415852514"],"query_type":["CIRCLE"],"total_count":1,"total_points":[[{"lat":49.58436,"lng":-107.49924},180091.11,49.58436,-107.49924,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Radius"],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]]} But while retrieving the same value from DB using jdbcTemplate the null values in json is converted to string as below:-
{"circle_bound":["-94.89424950944918 48.71944807447331, -93.38547461164457 48.71944807447331, -93.38547461164457 47.71414655188057, -94.89424950944918 47.71414655188057, -94.89424950944918 48.71944807447331",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"count_values":["14,872"],"query_shapes":["#POLYGON#|-94.89424950944918 48.71944807447331, -93.38547461164457 48.71944807447331, -93.38547461164457 47.71414655188057, -94.89424950944918 47.71414655188057, -94.89424950944918 48.71944807447331"],"query_type":["CIRCLE"],"total_count":1,"total_points":[[{"lat":48.216797,"lng":-94.13986},55954.83,48.216797,-94.13986,"null","null","null","null","null","null","null","null","null","null","null","null","null","null","Radius"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"],["null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null","null"]]} The table in which the JSONObject is saved is a child table named as "". So below I am sharing the code of JdbcTemplate query:-
@Override public UserSearchCriteriaData getUserParticularSearchHistory(Map map) throws CustomException { String accountUserId = map.get("accountUserId"); String accountId = map.get("accountId"); String searchHistoryId = map.get("searchHistoryId"); String userSearch = "select * from search_criteria_history where user_id=? and account_id=? and id=?"; String userSearchMap = "select * from search_criteria_history_map where criteria_id=?"; try { logger.debug("Fetching user history search data from db: " + accountUserId); Object[] parameters = new Object[] { accountUserId, accountId, searchHistoryId }; List queryForList = jdbcTemplateIRIS.queryForList(userSearch, parameters); Object[] parametersMap = new Object[] {searchHistoryId}; List mapQueryForList = jdbcTemplateIRIS.queryForList(userSearchMap, parametersMap); if (queryForList.size() > 0) { Map object = queryForList.get(0); Map objectMap = null; if(mapQueryForList.size()>0) { objectMap = mapQueryForList.get(0); } int id = (Integer) object.get("id"); int accountID = (Integer) object.get("account_id"); int userId = (Integer) object.get("user_id"); HashMap searchCriteria = (HashMap) SerializationUtils .deserialize((byte[]) object.get("search_criteria")); if(searchCriteria.containsKey("Ref_SIC_Description")&&searchCriteria.get("Ref_SIC_Description")[0].trim().equalsIgnoreCase("")) { String[] keyMap=searchCriteria.get("Ref_keywordSICMap"); if(keyMap!=null && keyMap.length>0) { String[] manipulateString=keyMap[0].split(" - "); searchCriteria.put("Ref_SIC_Description",new String[] {manipulateString[1]}); } } String databseType = (String) object.get("database_type"); Timestamp requestCompleteTime = (Timestamp) object.get("date"); long totalCount = (Long) object.get("search_count"); String logicalName = (String) object.get("logical_search_name"); UserSearchCriteriaData data = new UserSearchCriteriaData(id, accountID, userId, searchCriteria, databseType, requestCompleteTime, totalCount, logicalName, "",""); UserSearchCriteriaMapData tempMapParams = new UserSearchCriteriaMapData((int)objectMap.get("map_id"),SerializationUtils .deserialize((byte[])objectMap.get("search_criteria")) ,(String)objectMap.get("description"),(int)objectMap.get("criteria_id") ); data.setCriteriaMapData(tempMapParams); return data; } } catch (DataAccessException e) { throw new CustomException("encountered error while fetching revised search data from db:" + userSearch, AConstants.ERROR_4520, new Throwable(), true); } return null; } I need help and suggestions to get the same JSONObject back.
Источник: https://stackoverflow.com/questions/780 ... fter-savin
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему короткие нулевые значения преобразуются в нулевые значения int для сравнения с нулевым?
Anonymous » » в форуме C# - 0 Ответы
- 37 Просмотры
-
Последнее сообщение Anonymous
-