將Java對象轉換為JSONObject并以GET方法傳輸。
看看Google的Gson。這是一個非常簡潔的API,用于將對象轉換為JSON。通過將類中的@Expose批注添加到需要包括的屬性中,可以輕松地指定屬性。像這樣嘗試:
@RequestMapping(value = '/restaurant/listing', method = RequestMethod.GET)public @ResponseBody String listAllRestaurants(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.addobject('restaurant', new Restaurant()); List<Restaurant> restaurantList = this.restaurantService.listRestaurants(); Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); String jsonString = gson.toJson(restaurantList); return jsonString;}
不必使用@Expose注釋屬性,但是如果最終有任何循環引用,它將很有用。
祝好運。
解決方法 我正在開發一個Android應用程序,為此我還正在開發基于Spring-MVC的服務器。不幸的是,在此之前,我還沒有在JSONObjects上做太多工作。目前,我能夠從Android應用程序將Java對象發送到服務器,也可以接收Java對象。 我對使用Google提供的Volley框架感興趣,該框架將避免Asynctask的麻煩,并且效率更高,但它處理JSONObject。不幸的是,無論我在網上什么地方,都找到了創建JSOnObjects的代碼,將其保存在本地硬盤上的某個文件中,但是不,我想在ResponseBody中傳輸它們,任何人都可以幫助我為JSOBObject創建JAVA對象反之亦然。我具有所有POM依賴項,并在servlet上下文中設置了messageConvertors。控制器代碼電流:
//Restaurant is just a plain Java class,I can give it as a JSONObject,but I dont know how to convert that JSONObject to java so I can save the restaurant in the server. @RequestMapping(value = '/restaurant/add',method = RequestMethod.POST) @ResponseBody public String addRestaurantWebView(@RequestBody Restaurant restaurant){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject('restaurant',new Restaurant());modelAndView.addObject(restaurant);this.restaurantService.addRestaurant(restaurant);return 'true'; }//Similarly,here,I don’t know how to convert the Restaurant’s list to JSONObject when there is a get Request. @RequestMapping(value = '/restaurant/listing',method = RequestMethod.GET) public @ResponseBody List<Restaurant> listAllRestaurants(){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject('restaurant',new Restaurant());List<Restaurant> restaurantList = this.restaurantService.listRestaurants();modelAndView.addObject('listRestaurant',restaurantList);return restaurantList; }
我希望我的問題很清楚,如果有任何疑問,請告訴我。非常感謝。
相關文章:
1. 如何解決docker宿主機無法訪問容器中的服務?2. javascript - Web微信聊天輸入框解決方案3. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?4. angular.js - $stateChangeSuccess事件在狀態跳轉的時候不執行?5. javascript - 如何使用nodejs 將.html 文件轉化成canvas6. python - Scrapy存在內存泄漏的問題。7. 如何用筆記本上的apache做微信開發的服務器8. javascript - 螞蟻金服里的react Modal方法,是怎么把元素插入到頁面最后的9. android - rxjava merge 返回Object對象數據如何緩存10. CSS3 畫如下圖形
