精华内容
下载资源
问答
  • json转化为对象

    2021-11-09 21:20:18
    import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastjsonTest { public static void main(String[] args) { String jsonstr="{\"id\":\"1001\",\"name\":\"zs\",\"age...
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    
    public class FastjsonTest {
        public static void main(String[] args) {
            String jsonstr="{\"id\":\"1001\",\"name\":\"zs\",\"age\":18,\"sex\":\"男\",\"clazz\":\"一班\"}";
            //json->对象
            // 通过反射进行转换 转换成指定对象
            Student student = JSON.parseObject(jsonstr, Student.class);
    //        System.out.println(student.toString());
    
            //json->对象
            // 通过反射进行转换 转换成默认JSONObject对象 不需要创新的对象
    //        //kv对象 hashmap
    //        JSONObject jsonObject = JSON.parseObject(jsonstr);
    //        Object id = jsonObject.get("id");
    //        System.out.println(id);
    
            String  o = JSON.toJSONString(student);
            System.out.println(o);
    
    
        }
    }
    
    
    
    import com.google.gson.Gson;
    
    import java.util.HashMap;
    
    // "k":"v",k:18,k:v
    // "id":1001,"name":"zs","age":18,"sex":"男","班级":"一班"
    public class GsonTest {
        public static void main(String[] args) {
            String jsonstr="{\"id\":\"1001\",\"name\":\"zs\",\"age\":18,\"sex\":\"男\",\"clazz\":\"一班\"}";
            System.out.println(jsonstr);
            Gson gson = new Gson();
            //json转化成对象
            Student student = gson.fromJson(jsonstr, Student.class);
            System.out.println(student.toString());
            System.out.println(student.getClazz());
            HashMap<String, String> stringStringHashMap = new HashMap<String, String>();
            HashMap hashMap = gson.fromJson(jsonstr, stringStringHashMap.getClass());
            System.out.println(hashMap);
            //对象转化成json
            //不是{k:v,k:v...}
            System.out.println("------------------");
    //        int[] strs={1,2,3,4,5,6,7,8,9};
    //        String s = gson.toJson(strs);
    //        System.out.println(s);
    
    
        }
    
    }
    
    package mysql;
    
    public class Student {
        private String id;
        private String name;
        private int age;
        private String gender;
        private String clazz;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
    
        public String getClazz() {
            return clazz;
        }
    
        public void setClazz(String clazz) {
            this.clazz = clazz;
        }
    
        public Student() {
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "id='" + id + '\'' +
                    ", name='" + name + '\'' +
                    ", age=" + age +
                    ", gender='" + gender + '\'' +
                    ", clazz='" + clazz + '\'' +
                    '}';
        }
    
        public Student(String id, String name, int age, String gender, String clazz) {
            this.id = id;
            this.name = name;
            this.age = age;
            this.gender = gender;
            this.clazz = clazz;
        }
    
        public String getGender() {
            return gender;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    }
    
    
    展开全文
  • json转化为对象数组

    2020-12-22 10:09:20
    %> 提交到dr_student_rpt.asxp后 Request.Form["FieldsMatch"]即可取到ascx控件所传回来的datagrid的json数据 2.easyui-datagrid json转化为ExportFields对象数组 public static T FromJson(string jsonText) { ...

    1.ascx传值给aspx

    aspx页面

    function MatchResult()

    {

    var s = "

    s += "

    正在导入,请稍后...
    ";

    s += "";

    s += "

    s += "

    ";

    s += "

    ";

    s += "

    ";

    s += "

    ";

    main2.msg.innerHTML = s;

    main2.MainRpt.innerHTML = "";

    form.encoding = "multipart/form-data";

    form.action = "dr_student_rpt.aspx";

    form.target = "main2"

    form.submit();

    }

    提交到dr_student_rpt.asxp后  Request.Form["FieldsMatch"]即可取到ascx控件所传回来的datagrid的json数据

    2.easyui-datagrid json转化为ExportFields对象数组

    public static T FromJson(string jsonText)

    {

    JavaScriptSerializer servializer = new JavaScriptSerializer();

    T result = (T)servializer.Deserialize(jsonText);

    return result;

    }

    public class ExportFields

    {

    public string ExcelColumn { get; set; }

    public string ExportColumn { get; set; }

    public string ExportField { get; set; }

    }

    List stuInfo = FromJson>(Request.Form["FieldsMatch"]);

    for (int i = 0; i < stuInfo.Count; i++)

    {

    stu[i] = new LogicLayer.Util.LogicSuper.ExportFields();

    stu[i].ExportColumn = stuInfo[i].ExportColumn;

    stu[i].ExcelColumn = stuInfo[i].ExcelColumn;

    }

    展开全文
  • 我们在做项目的时候通常会遇到JSON字符串,我们所需要的数据就在这JSON字符串中,所以我们需要把JSON字符串中的数据拿出来,接下来我将告诉大家如何操作。{"country": "中国","province": [{"city": "西安","post...

    我们在做项目的时候通常会遇到JSON字符串,我们所需要的数据就在这JSON字符串中,所以我们需要把JSON字符串中的数据拿出来,接下来我将告诉大家如何操作。

    {

    "country": "中国",

    "province": [{

    "city": "西安",

    "postoffice": 710126,

    "school": {

    "name": "西安电子科技大学",

    "major": "computer"

    },

    "capital": "true"

    },

    {

    "city": "北京",

    "postoffice": 826123,

    "school": {

    "name": "北京大学",

    "major": "fiance"

    },

    "capital": "true"

    },

    {

    "city": "温州市",

    "postoffice": 236556,

    "school": {

    "name": "浙江大学",

    "major": "accounting"

    },

    "capital": "false"

    }

    ]

    }

    首先查看我么接收到的JSON字符串在JSON校验器上检验查看JSON是否合法,如果校验器显示为正确的JSON这时候我们开始进行对象转换工作。

    dcc070001900

    image.png

    接着我们在我们项目的pom文件中中加入相关的依赖。

    net.sf.json-lib

    json-lib

    2.4

    jdk15

    然后对照JSON的形式编写对应的java类(一般{} 对应的java类,[]对应的数组, :对应java类中的属性)

    public class InternationalSchool implements Serializable{

    private String country;

    private List province;

    public String getCountry() {

    return country;

    }

    public void setCountry(String country) {

    this.country = country;

    }

    public List getProvince() {

    return province;

    }

    public void setProvince(List province) {

    this.province = province;

    }

    @Override

    public String toString() {

    return "InternationalSchool{" +

    "country='" + country + '\'' +

    ", province=" + province +

    '}';

    }

    }

    public class Province implements Serializable{ {

    private String city;

    private String postoffice;

    private List school;

    private boolean capital;

    public String getCity() {

    return city;

    }

    public void setCity(String city) {

    this.city = city;

    }

    public String getPostoffice() {

    return postoffice;

    }

    public void setPostoffice(String postoffice) {

    this.postoffice = postoffice;

    }

    public List getSchool() {

    return school;

    }

    public void setSchool(List school) {

    this.school = school;

    }

    public boolean isCapital() {

    return capital;

    }

    public void setCapital(boolean capital) {

    this.capital = capital;

    }

    @Override

    public String toString() {

    return "Province{" +

    "city='" + city + '\'' +

    ", postoffice='" + postoffice + '\'' +

    ", school=" + school +

    ", capital=" + capital +

    '}';

    }

    }

    public class School implements Serializable{ {

    private String name;

    private String major;

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public String getMajor() {

    return major;

    }

    public void setMajor(String major) {

    this.major = major;

    }

    @Override

    public String toString() {

    return "School{" +

    "name='" + name + '\'' +

    ", major='" + major + '\'' +

    '}';

    }

    }

    接着我们编写测试类进行测试。

    import net.sf.json.JSONObject;

    import java.util.List;

    public class Demo {

    public static void main(String[] args) {

    String jsonData = "{\n" +

    "\t\"country\": \"中国\",\n" +

    "\t\"province\": [{\n" +

    "\t\t\t\"city\": \"西安\",\n" +

    "\t\t\t\"postoffice\": 710126,\n" +

    "\t\t\t\"school\": {\n" +

    "\t\t\t\t\"name\": \"西安电子科技大学\",\n" +

    "\t\t\t\t\"major\": \"computer\"\n" +

    "\t\t\t},\n" +

    "\t\t\t\"capital\": \"true\"\n" +

    "\t\t},\n" +

    "\t\t{\n" +

    "\t\t\t\"city\": \"北京\",\n" +

    "\t\t\t\"postoffice\": 826123,\n" +

    "\t\t\t\"school\": {\n" +

    "\t\t\t\t\"name\": \"北京大学\",\n" +

    "\t\t\t\t\"major\": \"fiance\"\n" +

    "\t\t\t},\n" +

    "\t\t\t\"capital\": \"true\"\n" +

    "\t\t},\n" +

    "\t\t{\n" +

    "\t\t\t\"city\": \"温州市\",\n" +

    "\t\t\t\"postoffice\": 236556,\n" +

    "\t\t\t\"school\": {\n" +

    "\t\t\t\t\"name\": \"浙江大学\",\n" +

    "\t\t\t\t\"major\": \"accounting\"\n" +

    "\t\t\t},\n" +

    "\t\t\t\"capital\": \"false\"\n" +

    "\t\t}\n" +

    "\t]\n" +

    "}";

    JSONObject jsonObject= JSONObject.fromObject(jsonData);

    InternationalSchool inSchool = (InternationalSchool) JSONObject.toBean(jsonObject,InternationalSchool.class);

    System.out.println(inSchool);

    String country = inSchool.getCountry();

    List provinces = inSchool.getProvince();

    System.out.println("打印provinces的到的是provinces中的结果");

    }

    }

    最后查看运行结果

    dcc070001900

    image.png

    总结:JSON对象和JAVA对象转换常见的情况。

    JSON 对象装换为JAVA对象

    JSONObject jsonObject= JSONObject.fromObject(jsonData);

    InternationalSchool inSchool = (InternationalSchool) JSONObject.toBean(jsonObject,InternationalSchool.class);

    JAVA对象转换为JSON对象

    School school = new School();

    school.setMajor("computer");

    school.setName("西安电子科技大学");

    JSONObject jsonData = JSONObject.fromObject(school);

    System.out.println(jsonData);

    JSONArray对象转为JAVA对象

    JSONArray array = JSONArray.fromObject("province ");

    List list = JSONArray.toList(array, Person.class);

    展开全文
  • 这次的需求很简单,就是将一段json进行处理,获得中间的数据,以往都是会直接使用com.alibaba.fastjson.JSONObject下面的JSON.parseObject()发法,但是这次看了一下项目中的pom.xml,只有jackson的以下三个依赖的jar...

    Jackson在以前的工作中都没用到过,这次机缘巧合之下使用了Jackson,就记录一下使用的过程,方便日后查看。
    这次的需求很简单,就是将一段json进行处理,获得中间的数据,以往都是会直接使用com.alibaba.fastjson.JSONObject下面的JSON.parseObject()发法,但是这次看了一下项目中的pom.xml,只有jackson的以下三个依赖的jar包

    		<dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.9.10.8</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.9.10</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.9.10</version>
            </dependency>
    

    确定了使用Jackson以后就要考虑怎么处理这段json,因为有些字段设计到业务场景,所以就用abc代替了,也方便

    {
      "RetCd": "0",
      "RetMsg": "成功",
      "UserInfStrct": {
        "number": 123,
        "phone": "456",
        "NotesUserGrpArry": [{
          "a": "1",
          "b": "2",
          "c": "3"
        },
          {
            "a": "4",
            "b": "5",
            "c": "6"
          }
        ]
      }
    } 
    

    难点在于两点:
    1、很多字段的命名没有遵循驼峰命名法,但是Jackson处理是会按照驼峰来处理的,所以需要多处理一步;
    2、中间有一个数组,所以只使用一个对象就不太够
    解决方案其实也不难:
    1、使用@JsonProperty注解,具体的使用方法可以参考一下后面创建的实体类中的使用;
    2、将数组中的abc再创建一个对象就完事了
    所以,我创建了两个对象,首先是数组对象entity.java

    package com.xhc.kuangstudyspringbootpro;
    
    /**
     * @author :haoc.xu
     * @date :2021/8/3 15:19
     * @Description:
     */
    public class entity {
        private String a;
        private String b;
        private String c;
    
        public String getA() {
            return a;
        }
    
        public void setA(String a) {
            this.a = a;
        }
    
        public String getB() {
            return b;
        }
    
        public void setB(String b) {
            this.b = b;
        }
    
        public String getC() {
            return c;
        }
    
        public void setC(String c) {
            this.c = c;
        }
    
        @Override
        public String toString() {
            return "entity{" +
                    "a='" + a + '\'' +
                    ", b='" + b + '\'' +
                    ", c='" + c + '\'' +
                    '}';
        }
    }
    
    

    然后是整个的对象exampleEntity.java,因为json中的RetCdRetMsg很容易就get出来了,所以就不写在里面了
    说实话,因为是写个小例子,所以命名其实是很不规范的,真正的开发中还是应该做到见名知意。

    package com.xhc.kuangstudyspringbootpro;
    
    import com.fasterxml.jackson.annotation.*;
    
    import java.util.List;
    
    /**
     * @author :haoc.xu
     * @date :2021/8/3 14:45
     * @Description:
     */
    public class exampleEntity {
        private String number;
        @JsonProperty(value = "NotesUserGrpArry")
        private List<entity> notesUserGrpArry;
        private String phone;
    
        public String getNumber() {
            return number;
        }
    
        public void setNumber(String number) {
            this.number = number;
        }
    
        public List<entity> getNotesUserGrpArry() {
            return notesUserGrpArry;
        }
    
        public void setNotesUserGrpArry(List<entity> notesUserGrpArry) {
            this.notesUserGrpArry = notesUserGrpArry;
        }
    
        public String getPhone() {
            return phone;
        }
    
        public void setPhone(String phone) {
            this.phone = phone;
        }
    
        @Override
        public String toString() {
            return "exampleEntity{" +
                    "number='" + number + '\'' +
                    ", notesUserGrpArry=" + notesUserGrpArry +
                    ", phone='" + phone + '\'' +
                    '}';
        }
    }
    
    

    PS:
    在这里插入图片描述
    没有这个注释,这一步转化,妥妥报错,亲测!!!!
    接下来就是对json进行处理了,同样为了偷懒,我直接把json复制到了代码里面

    package com.xhc.kuangstudyspringbootpro;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    import org.json.JSONObject;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * @author :haoc.xu
     * @date :2021/8/3 14:06
     * @Description:
     */
    
    @RequestMapping(value = "/jsonTset",produces = "application/json;charset=utf-8")
    public class jsonTset {
        public static void main(String[] args) throws Exception {
            String json = "{\n" +
                    "\t\"RetCd\": \"0\",\n" +
                    "\t\"RetMsg\": \"成功\",\n" +
                    "\t\"UserInfStrct\": {\n" +
                    "\t\t\"number\": 123,\n" +
                    "\t\t\"phone\": \"456\",\n" +
                    "\t\t\"NotesUserGrpArry\": [{\n" +
                    "\t\t\t\t\"a\": \"1\",\n" +
                    "\t\t\t\t\"b\": \"2\",\n" +
                    "\t\t\t\t\"c\": \"3\"\n" +
                    "\t\t\t},\n" +
                    "\t\t\t{\n" +
                    "\t\t\t\t\"a\": \"4\",\n" +
                    "\t\t\t\t\"b\": \"5\",\n" +
                    "\t\t\t\t\"c\": \"6\"\n" +
                    "\t\t\t}\n" +
                    "\t\t]\n" +
                    "\t}\n" +
                    "} ";
            JSONObject jsonObject = new JSONObject(json);
            System.out.println(jsonObject);
            String userInfStrct = jsonObject.get("UserInfStrct").toString();
            System.out.println(userInfStrct);
            ObjectMapper mapper = new ObjectMapper();
            exampleEntity exampleEntity = mapper.readValue(userInfStrct, exampleEntity.class);
            System.out.println(exampleEntity);
            List<entity> notesUserGrpArry = exampleEntity.getNotesUserGrpArry();
            for (entity entity : notesUserGrpArry) {
                System.out.println("a="+entity.getA()+",b="+entity.getB()+",c="+entity.getC());
            }
        }
    }
    
    

    为了能更清楚的了解中间的过程,在除了使用debug模式之外,我还贴心的多加了几个sout
    运行效果如下,可以清楚的看到,我们已经处理完了,后续对对象进行处理就很简单了,在此就不多做赘述了
    在这里插入图片描述

    展开全文
  • json数组转换java列表对象

    千次阅读 2021-03-06 03:57:27
    参见英文答案 >How to deserialize a list using GSON or another JSON library in Java?5个我从服务器响应中获得了一个json数组:[{"id":1, "name":"John", "age": 20},{"id":3, "name":"Tomas", "...
  • Java class JSONObject:I have a JSON object, from which I want to extract only some of the key/value pairs into another JSON object. In addition, I want to change the names of the extracted keys. And f...
  • 比如得到一个response是一个字符串,现在需要将它转换为对象 private static final ObjectMapper MAPPER = new ObjectMapper();//这个工具类可以序列化和反序列化 User user = MAPPER.readValue(response,User.class...
  • php将json转换成对象或数组发布时间:2020-06-01 16:31:29来源:亿速云阅读:126作者:鸽子在PHP中可以使用json_decode()函数将JSON编码的字符串转换适当的PHP数据类型。默认情况下,json_decode()函数将返回一个...
  • 导入json包,调用loads函数即可 ...json_obj = json.loads(str(json_data)) #报错:json_data="{'a': '1'}",但json中需要双引号 json_data = '{"a":"1"}'# json_data:str json_obj = json.loads(json_data)
  • Java将Json数据转为对象时出现的问题 第一个 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field 出现这种报错有两种方法解决 1.ObjectMapper 对象添加 ObjectMapper mapper ...
  • Json:一种网络通信使用的数据格式,因为便于解析,比较流行,对象可以转为json,同样json也可以转对象。下面介绍下Json工具的简单使用(fastjson && jackson)。FastJson阿里的json数据解析工具包,国内比较...
  • json字符串转对象

    2021-05-02 00:36:39
    第一种,使用fastjson 工具类 1、引入依赖; <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson<...// ResultModel 需要转换的对象 String jsonStr = "";
  • object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(phoneApps, typeof(List<PhoneApp>)); //使用Newtonsoft装换 phoneAppList = (List<PhoneApp>)obj; //再强制转化一下 ...
  • 1. 导入fastjson的jar包com.alibabafastjson1.2.47 2. 常用几种类型的json转化为对象2.1 对象形式的json@RequestMapping("/EasyJsonToObject.action")public void EasyJsonToObject(){//(1) 创建一个对象并将 给对象...
  • C# 将json转换实体对象

    千次阅读 2021-02-27 16:49:02
    Newtonsoft.Json 和 Newtonsoft.Json.Linq 1.可自行网上下载 Newtonsoft.Json.dll ,在项目中添加引用 2.或者是直接使用VS的内置NuGet包管理器中搜索Newtonsoft.Json 安装到指定项目 1.针对简单的json串 需要处理的...
  • I have a problem converting Object instances to JSON:ob = Object()list_name = scaping_myObj(base_url, u, number_page)for ob in list_name:json_string = json.dumps(ob.__dict__)print json_stringIn list_n...
  • 最近在查找一个bug的时候,发现前端传过来的json对象 {} ,被php转换成了空数组 [] 存到了数据库里面, 读取并返回给前端的时候,没有做特殊处理,返回了 [] 给前端,导致一些问题。所以决定梳理一下php的json转换...
  • •数据在名称/值对中•数据由逗号分隔•花括号保存对象•方括号保存数组JSON 对象JSON 对象在花括号中书写:对象可以包含多个名称/值对:{ "firstName":"John" , "lastName":"Doe" }这一点也容易理解,与这条 ...
  • var json = [{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},{"id":"5","tagName":"pineapple"}];$.each(json, function(idx, obj)...
  • 这篇文章主要介绍了JSON对象转化为字符串,文章介绍了参数的含义,value 用法,space 的用法,需要的朋友可以参考下序列化定义指将 JavaScript 值转化为 JSON 字符串的过程。JSON.stringify() 能够将 JavaScript 值转换...
  • 1. 添加命名空间using System.Runtime...2.WriteObject方法// 从一个对象信息生成Json串public static string ObjectToJson(object obj){DataContractJsonSerializer serializer = new DataContractJsonSerializer(o...
  • 将JSONObject转换Java对象

    千次阅读 2021-03-05 16:45:59
    但是,我试图将其转换对象并获得错误.这是我的代码:RestOperations operations = /*initalize*/;String body = /*build request body*/;String resourceResponse = operations.postForObject(/* url */,bo...
  • 无论哪一个Json库都必须具有一个基本功能,就是把Json文本转换用本语言表示的数据结构,本文就是介绍如何把Json文本一字符一字符的解析成Java对象。如果要问解析Json需要哪些基础知识的话,计算机科班出身的读者...
  • php json怎么转为对象

    2021-03-26 13:45:22
    php json转为对象的方法:首先创建一个PHP示例文件;然后用“get_object_vars”把类的类型转换成数组; 最后用foreach遍历即可。本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。php json字符串转为数组或对象从...
  • 背景 最近项目中包含前后端数据交互,后台采用C#语言,自然少不了与前端...4.新建一个简单公有类Person,使其拥有三个字段 姓名name(String),年龄age(Int32),分数score(Int32 []),并其添加公有属性,再覆盖实现其
  • 例子如下:varjsonStr=.../*开始转化*/varjsonObject=eval('('+jsonStr+')');alert(jsonObject.name);//当然如果使用jquery那就更简单了varjsonObject=$.parseJSON(jsonStr);但是如果遇到错误,比如说我们指定了一个...
  • javabeanX具有N个属性均StringX数组x1-x6属性A属性B属性Cx1a1b4c1x2a1b4c1x3a2b1c3x4a2b1c4x5a3b2c2x6a3b3c1最终想转化为hashmap进而转化为json树如下结果[{name:a1,count:2,childr...java bean X 具有N个属性均...
  • json格式的字符串转化为对象数组的核心代码如下 JSONArray jsonArray= JSONArray.parseArray(jsonObject.get("body").toString()); System.out.println(jsonArray +"::::"+ jsonArray.size()); for(int i=0;...
  • java类转化为json对象

    2021-03-06 14:04:57
    方式一:使用jar包,直接转化json格式,再使用outwrite写到jsp中先说说要使用到的包commons-beanutils.jar、commons-collections.jar、commons-lang.jar、commons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.4-...
  • flutter中json的反序列化代码示例如下: import 'dart:convert'; String rawJson = '{"name":"Mary","age":30}'; Map<String, dynamic> map = jsonDecode(rawJson);//反序列化 json.decode(rawJson ) //也...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,140
精华内容 42,056
关键字:

json转化为对象