Tag: json

Java – 多个GSON?

好的,我正在创建一个使用JSON来保存日期的应用程序。 我使用GSON作为我的JSON “处理器”。 是的我知道如何使用Gson 。 我在网上关注教程。 问题是,web上的教程只保存“一个”json数据。 我的意思是,例如, { “Data1”: { “name”: “Data1”, “info”: “ABCDEFG” } } 因此,在用户保存Data1之后,他们想要像这样保存Data2,Data3等 { “Data1”: { “name”: “Data1”, “info”: “ABCDEFG” }, “Data2”: { “name”: “Data2”, “info”: “ABCDEFGHIJ” } } 但如果用户想要保存100多个数据,我必须制作100个课程吗? 以下是我的代码。 JSONTest.class public class JSONTest { private static Gson gson; private static File file; private static JSONTest instance; private static […]

使用Struts 2内置JSON实用程序类

在Struts 2项目中,我们需要序列化和反序列化对象,因为我们的要求非常简单,我们决定使用Struts 2 JSONUtil而不是gson 。 import org.apache.struts2.json; String json = JSONUtil.serialize(myAccountVO); // return: {“accountNumber”:”0105069413007″,”amount”:”1500″,”balance”:”215000″} 对于deserialization ,我们面临class cast exception AccountVO vo =(AccountVO) JSONUtil.deserialize(json); //Exception 我发现deserialization返回一个带有对象属性键值的映射。 所以我必须这样做: HashMap map = (HashMap) JSONUtil.deserialize(string) accountVo.setAccountNumber(map.get(“accountNumber”)); …. 我可以做得更好,或者我对这个实用程序的期望太高了。

Jackson序列化的动态属性名称

我有很多类,我正在尝试序列化为JSON。 它们非常相似,所以我想知道是否有更好的方法来执行此操作,而不是每次出现此模式时创建3个非常接近相同的类: public class SomethingFoo { @JsonProperty(“foo”) Identifier foo // other properties } public class SomethingBar { @JsonProperty(“bar”) Identifier bar // other properties } public class SomethingBaz { @JsonProperty(“baz”) Identifier baz // other properties } 标识符是一个只包含一个字段的类: public class Identifier { @JsonProperty(“name”) String name = “”; } 我想做的是将标识符更改为: public class Identifier { @JsonProperty(“name”) String name = […]

如何在没有JAXBElement包装的情况下JSON-marshal JAXBElement包装的响应?

我有一个使用Spring(v4.0.5)的http服务。 它的http端点是使用Spring Web MVC配置的。 响应是由模式生成的JAXB2-anotated类。 响应包装在JAXBElement因为生成的JAXB类没有运行@XmlRootElement注释(并且架构无法修改为医生)。 我不得不通过XML编组来解决这个问题。 无论如何,它正在发挥作用。 现在我正在设置JSON编组。 我遇到的是获取具有JAXBElement “信封”的JSON文档。 { “declaredType”: “io.github.gv0tch0.sotaro.SayWhat”, “globalScope”: true, “name”: “{urn:io:github:gv0tch0:sotaro}say”, “nil”: false, “scope”: “javax.xml.bind.JAXBElement$GlobalScope”, “typeSubstituted”: false, “value”: { “what”: “what”, “when”: “2014-06-09T15:56:46Z” } } 我想要编组的只是value : { “what”: “what”, “when”: “2014-06-09T15:56:46Z” } 这是我的JSON编组配置(弹簧上下文配置的一部分): 我希望通过配置ObjectMapper可以实现这一点。 我想也可以推出我自己的序列化器。 思考? 建议?

无法获得json的所有值

我试图使用rest webservice将从数据库获取的值返回到前端视图,但问题是它只返回json值的一行(第一行) 我有这样的json: {“jobName”:”NASA Scientist”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”Sample 2″,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} {“jobName”:”NASA Scientist”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”JOB_DESCRIPTION”,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} {“jobName”:”Web developer”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”XYZ 123″,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} {“jobName”:”Web developer”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”JOB_DESCRIPTION”,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} {“jobName”:”Programmer”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”JOB_DESCRIPTION”,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} {“jobName”:”Programmer”,”jobPrimarySkill”:null,”jobRole”:”JOB_ROLE”,”jobDesignation”:”JOB_EXP”,”jobDescription”:”JOB_DESCRIPTION”,”jobSalaryRange”:”JOB_POSITIONS”,”jobExp”:”JOB_SAL_RANGE”,”jobPositions”:”JOB_POSTEDBY”,”jobPostedBy”:null} 它只将第一行json值返回到前端而不是全部。 我将从数据库中获取的值添加到List并在webservice中公开它,如下所示: public class FetchJobSummaryDAO { public List getJobSummaries() { JobSummaries jobSummaries = new JobSummaries(); List jobSummaryList = new ArrayList(); try { Connection con = DBConnection.getConnection(); String query = “select JOB_NAME,JOB_DESCRIPTION,JOB_ROLE,JOB_PRIMARY_SKILL,JOB_DESIGNATION,JOB_EXP,JOB_SAL_RANGE, JOB_POSTEDBY from TBL_JOBPOSTING”; PreparedStatement pst = con.prepareStatement(query); ResultSet rs […]

ClassNotFoundException:org.json.JSONException

即使在classpath中拥有json.jar和commons-collections.jar之后,我也得到了以下exception。 它完全失败于JSONException的import语句 Caused by: java.lang.ClassNotFoundException: org.json.JSONException at java.net.URLClassLoader.findClass(URLClassLoader.java:434) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:191) at java.lang.ClassLoader.loadClass(ClassLoader.java:660) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:111) at java.lang.ClassLoader.loadClass(ClassLoader.java:626) at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:509) at java.lang.ClassLoader.loadClass(ClassLoader.java:626) … 30 more

如何在java中的http post中发送json对象

我想发送一个JSON对象(注意它不应该转换为字符串,因为服务器端代码基于Spring启动项目并且有params(@RequestBody PCAP pcap))我有我的下面的代码但它转换为正文到一个字符串,给我400个不良请求。 private void sendData(String ip){ try{ JSONObject json=new JSONObject(); json.put(“time_range”, “22-23”); json.put(“flow_id”, “786”); json.put(“ip_a”, “192.65.78.22”); json.put(“port_a”, “8080”); json.put(“regex”, “%ab”); URL url=new URL(“http://”+ip+”:8080/pcap”); HttpURLConnection httpcon=(HttpURLConnection)url.openConnection(); httpcon.setDoOutput(true); httpcon.setRequestMethod(“POST”); httpcon.setRequestProperty(“Accept”, “application/json”); httpcon.setRequestProperty(“Content-Type”, “application/json”); Cookie cookie=new Cookie(“user”, “abc”); cookie.setValue(“store”); httpcon.setRequestProperty(“Accept”, “application/json”); httpcon.setRequestProperty(“Cookie”, cookie.getValue()); OutputStreamWriter output=new OutputStreamWriter(httpcon.getOutputStream()); System.out.println(json); output.write(json.toString()); httpcon.connect(); String output1=httpcon.getResponseMessage(); System.out.println(output1); }catch(Exception e){ } } 注意:服务器端代码是 […]

如何使用Google DataProc Java Client在相关的GS存储桶中使用jar文件和类提交spark作业?

我需要触发Spark Jobs以使用API​​调用从JSON文件聚合数据。 我使用spring-boot来创建资源。 因此,解决方案的步骤如下: 用户使用json文件作为输入发出POST请求 JSON文件存储在与数据中心群集关联的Google存储桶中。 在REST方法中使用指定的jar,类和参数触发聚合spark作业是json文件链接。 我希望使用Dataproc的Java Client而不是控制台或命令行来触发作业。 你怎么做呢?

Gson使用存根序列化循环引用

我正在尝试实现一些简单的Json序列化function,但我很难应对Gson的大量复杂性。 所以基本上我有一堆实体类,它们通过大量的循环引用相互引用。 要将此结构序列化为JSON,我想跟踪已经序列化的对象。 Entity类都实现了一个名为Identified的接口,它有一个方法String getId()给出一个全局唯一的id。 因此,在对一个根元素进行序列化时,我希望将所有遇到的ID存储在一个Set并根据该集决定是否完全序列化对象或将该对象序列化为存根 “something”: { “__stub”: “true”, “id”: “…” } 在我看来,这不应该是一项艰巨的任务,但我无法将某些东西放在一起。 使用自定义JsonSerializer我不能以默认方式序列化一个对象(不能被序列化为存根)。 使用TypeAdapterFactory ,我无法访问实际对象。 所以,任何有关如何实现这一目标的帮助都会非常好! 最好的祝福

无法从JSON String实例化类型的值; 没有单字符串构造函数/工厂方法

我有以下实体: @Entity @Table(name=”APLICACAO”) public class Aplicacao implements Serializable, Entidade { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name=”CD_APLICACAO”) private Long codigo; @Column(name=”NM_APLICACAO”) @NotNull private String nome; @ManyToOne @JoinColumn(name=”CD_GRUPO”) private GrupoAplicacao grupoAplicacao; …. } 并且: @Entity @Table(name = “GRUPO_APLICACAO”) public class GrupoAplicacao implements Serializable, Entidade { private static final long serialVersionUID = […]