将Java复杂对象转换为Json
发布时间:2020-12-15 02:50:54 所属栏目:Java 来源:网络整理
导读:我需要转换以下类: package comS309.traxz.data;import java.util.Collection;import org.json.JSONException;import org.json.JSONObject;public class ExerciseSession { public String DateCreated; public String TotalTime; public String CaloriesBur
我需要转换以下类:
package comS309.traxz.data; import java.util.Collection; import org.json.JSONException; import org.json.JSONObject; public class ExerciseSession { public String DateCreated; public String TotalTime; public String CaloriesBurned; public String AvgSpeed; public String SessionName; public String Distance; public String SessionType; public String UserId; public Collection<LatLon> LatLons; } LatLon如下: public class LatLon { public String LatLonId; public String Latitude; public String Longitude; public String ExerciseSessionId; public String LLAveSpeed; public String Distance; } 所以Class ExerciseSession有一组LatLon对象.现在我需要将ExerciseSession类从java转换为Json格式并将其发送到我的服务器. 我在Android操作系统上这样做,如果这很重要. 我目前的解决方案是: JSONObject ExerciseSessionJSOBJ = new JSONObject(); ExerciseSessionJSOBJ.put("DateCreated",this.DateCreated); ExerciseSessionJSOBJ.put("TotalTime",this.TotalTime); ExerciseSessionJSOBJ.put("CaloriesBurned",this.CaloriesBurned); ExerciseSessionJSOBJ.put("AvgSpeed",this.AvgSpeed); ExerciseSessionJSOBJ.put("SessionName",this.SessionName); ExerciseSessionJSOBJ.put("Distance",this.Distance); ExerciseSessionJSOBJ.put("SessionType",this.SessionType); ExerciseSessionJSOBJ.put("UserId",this.UserId); //add the collection for(LatLon l: LatLons) { ExerciseSessionJSOBJ.accumulate("LatLons",l); } 我不确定这是否有效..我是Json的新手,需要帮助. 解决方法
使用Google的GSON库非常容易.这是一个使用示例:
Gson gson = new Gson(); String jsonRepresentation = gson.toJson(myComplexObject); 并获得对象: Gson gson = new Gson(); MyComplexObject myComplexObject = gson.fromJson(jsonRepresentation,MyComplexObject.class); http://code.google.com/p/google-gson/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |