我正在使用下面的JSON由我的springboot代码解析:
{
"id" :123,
"Subject" : "English",
"name": {
"Firstname": "Hemant",
"Middlename": "kumar",
"Lastname": "Mamod"
}
}
但在对其进行解析/反序列化时,我在Student的对象中得到了以下信息:
RESTController:
package com.example.demo;
import java.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
@RestController
public class Demo1Application {
@Autowired
Student student;
List<Student> students = new ArrayList<>();
@RequestMapping(value="/saveStudent", method=RequestMethod.POST,consumes=MediaType.APPLICATION_JSON_VALUE)
public String savestudent (@RequestBody Student s1) {
System.out.println(s1);
return "success";
}
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
System.out.println("Hello");
}
}
学生豆类:
package com.example.demo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
@Component
public class Student {
int id;
String Subject;
@Autowired
@Qualifier("name")
Name name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSubjects() {
return Subject;
}
public void setSubject(String subject) {
Subject = subject;
}
public void setName(Name name) {
this.name = name;
}
public Name getName() {
return name ;
}
@Override
public String toString() {
return "Student [id=" + id + ", Subject=" + Subject + ", name=" + name + "]";
}
}
命名Bean类:
package com.example.demo;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
@Component
@Qualifier("name")
public class Name {
private String Firstname;
private String Middlename;
private String Lastname;
public Name() {
System.out.println("Name Object created");
}
public String getFirstname() {
return Firstname;
}
public void setFirstname(String firstname) {
Firstname = firstname;
}
public String getMiddlename() {
return Middlename;
}
public void setMiddlename(String middlename) {
Middlename = middlename;
}
public String getLastname() {
return Lastname;
}
public void setLastname(String lastname) {
Lastname = lastname;
}
public Name setfullname(String Fname, String Mname, String Lname) {
Firstname = Fname;
Middlename = Mname;
Lastname = Lname;
return this;
}
@Override
public String toString() {
return "Name [Firstname=" + Firstname + ", Middlename=" + Middlename + ", Lastname=" + Lastname + "]";
}
}
重新格式化JSON输入,使其具有骆驼大小写键:
{
"id" :123,
"subject" : "English",
"name": {
"firstname": "Hemant",
"middlename": "kumar",
"lastname": "Mamod"
}
}
问题内容: 有没有一种使用Jackson JSON Processor进行自定义字段级序列化的方法?例如,我想上课 序列化为以下JSON: 请注意,age = 25被编码为 数字, 而favoriteNumber = 123被编码为 string 。开箱即用的杰克逊将集结到一个号码。在这种情况下,我希望将favoriteNumber编码为字符串。 问题答案: 您可以实现自定义序列化器,如下所示:
问题内容: 既然没有,可以使用什么本机实现来处理呢? 我注意到了,并且可以使用此格式将数据格式化为JSON,但是如何反序列化? 或者,也许我缺少某些依赖项? 问题答案: 您可以使用,它的依赖项是的依赖项。因此,您无需在project.json中添加依赖项。 请注意,使用WebAPI控制器,您无需处理JSON。 更新ASP.Net Core 3.0 Json.NET已从ASP.NET Core 3.
问题内容: 基本上,我试图使用4chan JSON API从4chan线程解析注释。https://github.com/4chan/4chan- API 基本上,有一个富文本框称为input,另一个称为post_text_box。我正在尝试做的是使它从输入文本框中输入的4chan线程中获取JSON,并从该JSON中提取注释并显示在输出文本框中。 但是,每当我尝试单击“执行”按钮时,都不会发生任何
问题内容: 场景: 考虑以下是JSON: 如果注意到的话,数据的结构方式是没有硬编码键提及/ 它基本上只是值。 问题: 我无法解析任何动态的JSON。 问题: 有人能找到这种JSON解析的解决方案吗?我尝试了go-simplejson,gabs和default 但没有运气。 注意: 上面的JSON仅用于示例。而且有许多应用程序正在使用当前的API,因此我不想更改数据的结构。我的意思是我不能更改为以
场景: 考虑以下是JSON: 如果您注意到,数据的结构是这样的,即没有硬编码键提到/基本上只是值。 问题:我无法解析任何动态 JSON。 问题:有人能找到这种JSON解析的解决方案吗?我试着简单点 注意:以上JSON只是示例。有很多应用程序正在使用当前的API,所以我不想改变数据的结构。我的意思是我不能换成如下的东西: 然后我可以定义< code>struct
问题内容: 我有一个包含以下对象数组的Josn文件: 我必须根据开始时间和计算机名称进行排序,并仅向用户显示这两件事。如果两个或多个任务的开始时间相同,则应根据计算机名称对这些任务的结果进行排序。我试图将解析后得到的JsonArray转换为List,然后使用自定义collections.sort。我朝着正确的方向前进吗?在启动时间相同的情况下,如何修改Collections.sort中的比较器以根