如何转换此json clsError和userId值:
String temp = "{"clsError":{"ErrorCode":110,"ErrorDescription":" Request Added"},"UserID":36}"
并将它们作为参数传递:
clsError errorObject=new clsError(UserID,clsError);
答案 0 :(得分:2)
首先使用此:http://developer.android.com/reference/org/json/JSONObject.html#JSONObject(java.lang.String)
JSONObject tempJson = new JSONObject(temp);
JSONObject clsErrorJson = tempJson.getJSONObject("clsError");
clsError errorObject = new clsError(tempJson.getString("UserID"),
clsErrorJson.getInt("clsError") + ": "
+ clsErrorJson.getString("ErrorDescription"));
基本上就是这样。但我不确定clsError构造函数的第二个参数。我只是假设它是我的例子中的一个字符串:)但这应该让你知道如何做到这一点。你必须用try / catch包围它。 eclipse会告诉你如何:)
答案 1 :(得分:1)
我发现杰克逊的ObjectMapper在这种情况下非常有帮助。
ObjectMapper objectMapper = new ObjectMapper();
clsError error = objectMapper.readValue(temp, clsError.class));
答案 2 :(得分:0)
您可以使用jQuery扩展方法将json包装到javascript对象中,如下所示:
function clsError(ErrorCode,ErrorDescription,UserID){
this.ErrorCode=ErrorCode;
this.ErrorDescription=ErrorDescription;
this.UserID=UserID;
}
String temp="{"clsError":{"ErrorCode":110,"ErrorDescription":" Request Added"},"UserID":36}"
var obj = $.extend(new clsError(), temp);