1

我有一个要转换为 JSON 的类,但构造函数不允许我这样做。该类称为 CourseKeyInfo:

public class CourseKeyInfo
{
    private String courseKey;
    private String institutionID;
    public CourseKeyInfo(String courseKey, String institutionId)
    {
        this.courseKey = courseKey;
        this.institutionID = institutionId;
    }
    public String getCourseKey()
    {
        return courseKey;
    }
    public void setCourseKey(String courseKey)
    {
        this.courseKey = courseKey;
    }
    public String getInstitutionID()
    {
        return institutionID;
    }
    public void setInstitutionID(String institutionID)
    {
        this.institutionID = institutionID;
    }
}

我曾经JSONObject body = new JSONObject(responseEntity);将其转换为 json,但它给了我“构造函数 JSONObject(CourseKeyInfo) 未定义”错误。知道如何将我的课程变成 json 吗?

4

3 回答 3

4

构造函数JSONObject(Object)确实存在。

CourseKeyInfo courseKeyInfo = new CourseKeyInfo("This Works!", "101");
JSONObject jsonObject = new JSONObject(courseKeyInfo);
于 2012-07-27T17:08:45.723 回答
3

如果您使用GSON,您可以这样做:

CourseKeyInfo courseKeyInfo = new CourseKeyInfo("This Works!", "101");
String json = new Gson().toJson(courseKeyInfo);
System.out.println(json);

为了这个工作

  • 下载GSON JAR
  • 添加到您的项目构建路径
  • 就这样

结果是:

{"courseKey":"This Works!","institutionID":"101"}
于 2012-07-31T06:14:33.570 回答
1

对于 http 请求,这里是使用 json array+ json beans 的示例

JSONArray jsonArray = new JSONArray();
    for (Credentials credentials : ((PropertiesManager) propertiesManager.get()).getJsonPropertiesManager().getAllCredentials()) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("credentialsName", credentials.getName());
        jsonArray.add(jsonObject);
    }

    req.setAttribute(JSON_RESULT_OBJ_ATTR, jsonArray.toString());
于 2012-07-27T17:05:19.030 回答