Client client = Client.create();
WebResource webResource = client
.resource("my url");
String name = "adn";
String password = "34";
String authString = name + ":" + password;
String authStringEnc = new BASE64Encoder().encode(authString
.getBytes());
// System.out.println("Base64 encoded auth string: " +
// authStringEnc);
ClientResponse response = webResource.accept("application/json")
.header("Authorization", "Basic " + authStringEnc)
.get(ClientResponse.class);
String output = response.getEntity(String.class);
System.out.println(output);
我得到像这样的o / p
{" count":[{" college_name":" GPT,Karimngr"," college_epass_id":18},> {" college_name":" GPT,Dra"," college_epass_id":444},
我想将json数据类型转换为java对象,请你建议。
答案 0 :(得分:0)
由于您没有指定您使用的确切容器,因此有很多选项,但无论如何您需要创建DTO(数据传输对象类),从JSON获取数据并放入此类,然后到DB。
最直接的是将响应作为字符串并使用Jackson
进行解析在真正的java web项目中,通常使用现代Web容器,它可以将这样的JSON转换为您的DTO automatically,所以我建议您阅读容器的文档以便开始
答案 1 :(得分:0)
查看Google的Gson:http://code.google.com/p/google-gson/
从他们的网站:
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2
您只需要使用json字符串中的所有字段创建一个MyType类(当然是重命名的)。如果您喜欢手动执行所有解析(也非常简单),请查看http://www.json.org/并下载Json解析器对象的Java源代码。当您执行数组时,它可能会变得更复杂一些。
答案 2 :(得分:0)
查看此JAX-RS示例。
JAX-RS是Java内置的编组和UnMarshalling机制。 通过添加简单的基于XML的注释,我们可以简单地将JSON或XML请求转换为Java POJO模型和签证版。
上面的示例将概述 JAX-RS REST Web服务的基本用法。
使用杰克逊
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map = mapper.readValue(json, Map.class);
你的课程会像
一样public class CollegeList{
@JsonProperty("counts")
public List<College> counts;
}
public class College{
@JsonProperty("college_name") public String college_name;
@JsonProperty("college_epass_id") public int college_epass_id;
}
您可以通过
将json转换为相应的对象CollegeList colleges = mapper.readValue(jsonString, CollegeList .class);
分享Reference链接了解详情。