java 使用json-lib 对象,String,json互转

所使用的包:

commons-beanutils.jar

commons-collections-3.1.jar

commons-lang.jar

commons-logging-1.1.3.jar

ezmorph-1.0.jar

json-lib-2.2.2-jdk15.jar

先看json和String的互转

 User.java   user对象

package test;

public class User {

    String id;
    String name;
    int age;

              //省略get set
}
    

json.java

package test;

import net.sf.json.JSONObject;

public class Json{

    public static void main(String[] args) {

        //String 转json
        String text ="{‘id‘:‘001‘,‘name‘:‘jack‘,‘age‘:22}";
        JSONObject jo =JSONObject.fromObject(text);
        System.out.println(jo.get("id") +"__"+ jo.get("name") +"___" +  jo.getInt("age"));

        //String 转对象   等于是先转成json然后转对象
        String text2="{‘id‘:‘002‘,‘name‘:‘lion‘,‘age‘:23}";
        User u1 = (User)JSONObject.toBean(JSONObject.fromObject(text2), User.class);
        System.out.println(u1.getId()+"___"+u1.getName()+"__"+u1.getAge());

        //对象转json
        User  u =new User();
        u.setId("003");
        u.setAge(25);
        u.setName("Tom");

        JSONObject jo2 =JSONObject.fromObject(u);
        System.out.println(jo2);
        System.out.println(jo2.get("name"));

    }

}

打印输出

001__jack___22
002___lion__23
{"age":25,"id":"003","name":"Tom"}
Tom

给User.java 增加一个新属性book

package test;

public class User {

    String id;
    String name;
    int age;
    Book book;

// get  set 

}

Book.java

package test;

public class Book {
    String id;
    String name;
    //get  set
}

那么把user 转成json是什么样的呢?

package test;

import net.sf.json.JSONObject;

public class Json {

    public static void main(String[] args) {

     Book book =new Book();
     book .setId("111");
     book.setName("语文");

     User u =new User();
     u.setId("002");
     u.setName("xim");
     u.setBook(book);

     JSONObject jo =JSONObject.fromObject(u);
     System.out.println(jo);

    }

}

输出打印

{"age":0,"book":{"id":"111","name":"语文"},"id":"002","name":"xim"}

互转方法与第一种相同。

  

时间: 2024-12-13 15:53:46

java 使用json-lib 对象,String,json互转的相关文章

jackson简单使用,对象转json,json转对象,json转list

添加jackson依赖: // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.2' // https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-da

JSON数组对象和JSON字符串的转化,map和JSON对象之间的转化

这种用法包括前端和后端: 前端: 1. 转化为JSON对象方便操作 var jsonObj = JSON.parse(str); 得到的是一个json数组对象,可以通过 for (var p in jsonObj){} 来遍历数组中的每个对象,其中p表示key,jsonObj[p]表示key所对应的值. 2. 转化为字符串 var jsonStr = JSON.stringify(jsonObj) 后端:需要用到阿里的fastjson包(其他的用法可以参考博客:https://blog.csdn

json和对象、list互转

1.把对象,list转成json: import com.alibaba.fastjson.JSONObject; Object obj = new Object(); // ... String objJson = JSONObject.toJSONString(obj); List<Object> list = new ArrayList<>(); // ..... String listJson = JSONObject.toJSONString(list); // ...

java中Map等对象转换为json

ObjectMapper objectMapper = new ObjectMapper(); String jsonString = objectMapper.writeValueAsString(Object)://Object, 实体对象

Java中Date类型与String类型互转

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /**      * String 转Date      */     public static Date stringToDate(String str){         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

.Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询.目前已被微软集成于webapi框架之中,因此,熟练掌握JSON.NET相当重要,这篇文章是零度参考官网整理的示例,通过这些示例,可以全面了解JSON.NET提供的功能. Newtonsoft.Json的地址: 官网:http://json.codeplex.com/ 源码地址:https://gi

JsonUtil对象与json互转

OrderDto orderDto = JsonUtil.json2Object(json,     new TypeRef<OrderDto>() {     }); package com.sf.module.bspcommon.util.json; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.TimeZone; import org.slf4j.Logger; import

对于Json和对象直接的转换的学习

学习这个的用处有很多的: 在数据传输过程中比较查看数据比较清晰,代码也较清晰,也可以避免split函数带来的隐藏bug 当然也有不足: 准备工具较繁琐,需要准备对象(当然一般项目中每张表都会有对应的Model类,少量数据不建议适用) ------请教各位大侠,能不能直接将Json字符串转换为对象(对象格式无需我们自己定义,因为Json中已经很明确对象的格式了) 介绍两种方式: 第一种: 适用.NET Framework3.5以上版本的 命名空间为using System.Runtime.Seri

json对象和json数组

json字符串对象和json字符串数组:JSONArray跟JSONObject的区别就是JSONArray比JSONObject多中括号[] jsonObject: "Row":{ "YLX":"2010", "ZYY":"变更", "YWH":"60000000020181213", "JYH":"200151" } jso