精华内容
下载资源
问答
  • 本地的json文件转换成java对象

    千次阅读 2018-12-28 11:14:59
    2.然后 创建一个javabean 和json里面的属性对应 3.下面是工具类代码 package myUtil; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.Fi...

    1.首先下载GSON 的jar 包 。如gson-2.2.4.jar


    2.然后 创建一个javabean 和json里面的属性对应

    3.下面是工具类代码

    package myUtil;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.util.List;
    
    
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    
    import test.WSWSVoucher;
    
    
    public class JsonToJava {
    	   
    	
    	 public static void main(String[] args) throws IOException {
    		 String readJsonData = readJsonData("C://新建文本文档(4).txt");
    		 Gson gson = new Gson();
    		 TypeToken<List<WSWSVoucher>> typeToken = new TypeToken<List<WSWSVoucher>>(){};
    		 List<WSWSVoucher> wswsVoucher =(List<WSWSVoucher>)gson.fromJson(readJsonData, typeToken.getType());
    	     /* WSWSVoucher fromJson = gson.fromJson(readJsonData, WSWSVoucher.class);
    	      System.out.println(fromJson.toString());*/
    		  for(WSWSVoucher list :wswsVoucher){
    			  System.out.println(list.toString());
    		  }
    	}
    	
    	
    	/**   将本地文本中的内容读取到string字符串
    	 * @param filePahtName   文件路径 如 :C://新建文本文档(4).txt
    	 * @return   文件中的字符串
    	 * @throws IOException
    	 */
    	public static String readJsonData(String filePahtName) throws IOException {
    		StringBuffer strbuffer = new StringBuffer();
    		File myFile = new File(filePahtName);
    		if (!myFile.exists()) {
    			System.err.println("不能找到文件" + filePahtName+",请检查文件地址");
    		}
    		try {
    			FileInputStream fis = new FileInputStream(filePahtName);
    			InputStreamReader inputStreamReader = new InputStreamReader(fis, "UTF-8");//乱码的话可以换成 GBK    //将字节流转化为字符输入流
    			BufferedReader in  = new BufferedReader(inputStreamReader);  // 创建一个使用默认大小输入缓冲区的缓冲字符输入流。
    			String str;
    			while ((str = in.readLine()) != null) {
    				strbuffer.append(str);  //new String(str,"UTF-8")
    			}
    			while (in !=null) {
    				in.close();
    			}
    			while (inputStreamReader !=null) {
    				inputStreamReader.close();
    			}
    			while (fis !=null) {
    				fis.close();
    			}
    		} catch (IOException e) {
    			e.getStackTrace();
    		}
    		return strbuffer.toString();
    	}
    
    }
    


     

    展开全文
  • 最近遇到了业务需求,java对象转换为json文件,json文件转换java对象。这个需求可以拆分为: json 序列化反序列化 java IO json 序列化反序列化我们使用 alibaba 的 fastjson,很好用。 直接看demo代码吧。 依赖...

    前言

    最近遇到了业务需求,java对象转换为json文件,json文件转换为java对象。这个需求可以拆分为:

    1. json 序列化反序列化
    2. java IO

    json 序列化反序列化我们使用 alibaba 的 fastjson,很好用。

    直接看demo代码吧。

    依赖

    <!-- fastjson https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.56</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
    </dependency>
    

    代码

    实体类 Person(使用了lombok依赖)

    三个 lombok 注解必须加,如果未使用 lombok,请在此实体类加 setter & getter,全参构造方法,无参构造方法。

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Person {
        private Integer id;
        private String name;
        private Integer age;
    }
    

    object2JsonFile

    /**
     * Object 转换为 json 文件
     *
     * @param finalPath finalPath 是绝对路径 + 文件名,请确保欲生成的文件所在目录已创建好
     * @param object 需要被转换的 Object
     */
    public static void object2JsonFile(String finalPath, Object object) {
        JSONObject jsonObject = (JSONObject) JSON.toJSON(object);
    
        try {
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(finalPath), StandardCharsets.UTF_8);
            osw.write(jsonObject.toJSONString());
            osw.flush();
            osw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(jsonObject.toJSONString());
    }
    

    jsonFile2Object

    /**
     * json 文件转换为 Object
     *
     * @param finalPath finalPath 是绝对路径 + 文件名,请确保欲生成的文件所在目录已创建好
     * @param targetClass 需要被转换的 json 对应的目标类
     * @param <T> 需要被转换的 json 对应的目标类
     * @return 解析后的 Object
     */
    public static <T> T jsonFile2Object(String finalPath, Class<T> targetClass) {
        String jsonString;
        File file = new File(finalPath);
        try {
            FileInputStream inputStream = new FileInputStream(file);
            int size = inputStream.available();
            byte[] buffer = new byte[size];
            inputStream.read(buffer);
            inputStream.close();
            jsonString = new String(buffer, StandardCharsets.UTF_8);
            T object = JSON.parseObject(jsonString, targetClass);
            return object;
        } catch (IOException e) {
            e.printStackTrace();
            throw new RuntimeException("IO exception");
        }
    }
    

    测试类的方法(maven项目结构中的测试类)

    @Test
    void object2JsonFile() {
        Person person = new Person(22, "王多鱼", 19);
        String finalPath = "/Users/qianshijie/Temporary/skycomm/devsyn/test.json";
        JsonUtil.object2JsonFile(finalPath, person);
    }
    
    @Test
    void jsonFile2Object() {
        String finalPath = "/Users/qianshijie/Temporary/skycomm/devsyn/test.json";
        Person person = JsonUtil.jsonFile2Object(finalPath, Person.class);
        System.out.println(person.toString());
    }
    

    运行结果

    根据 java 对象生成 json 文件成功:

    Screen Shot 2020-11-12 at 9.42.56 AM

    生成的json文件(可使用vim查看):

    Screen Shot 2020-11-12 at 9.43.26 AM

    读取 json 文件转换为 java对象 成功:

    Screen Shot 2020-11-12 at 9.43.09 AM

    展开全文
  • java 读取本地json文件转换成对象

    千次阅读 2020-07-14 10:58:22
    json工具类 package util; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; ...import java.io.*;... //json对象 public static void main(String[] args){ String

    json工具类

    package util;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    import java.io.*;
    
    public class JsonUtil {
    
        //json转对象
        public static void main(String[] args){
            String path = JsonUtil.class.getClassLoader().getResource("test.json").getPath();
            String s = JsonUtil.readJsonFile(path);
            JSONObject jobj = JSON.parseObject(s);
            System.out.println("name"+jobj.get("name"));
            JSONObject address1 = jobj.getJSONObject("address");
            String street = (String) address1.get("street");
            String city = (String) address1.get("city");
            String country = (String) address1.get("country");
    
            System.out.println("street :" + street);
            System.out.println("city :" + city);
            System.out.println("country :" + country);
    
            JSONArray links = jobj.getJSONArray("links");
    
            for (int i = 0 ; i < links.size();i++){
                JSONObject key1 = (JSONObject)links.get(i);
                String name = (String)key1.get("name");
                String url = (String)key1.get("url");
                System.out.println(name);
                System.out.println(url);
            }
        }
    
        /**
         * 读取json文件,返回json串
         * @param fileName
         * @return
         */
        public static String readJsonFile(String fileName) {
            String jsonStr = "";
            try {
                File jsonFile = new File(fileName);
                FileReader fileReader = new FileReader(jsonFile);
    
                Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
                int ch = 0;
                StringBuffer sb = new StringBuffer();
                while ((ch = reader.read()) != -1) {
                    sb.append((char) ch);
                }
                fileReader.close();
                reader.close();
                jsonStr = sb.toString();
                return jsonStr;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    
    }
    

    json示例:

    {
      "ORG_ID": "招商银行机构代码",
      "MORT_CONTRACT_NO": "抵押合同编号",
      "MORTGAGEE": "抵押权人姓名",
      "STATUS": "0",
      "MSG": "查无数据",
      "APPLICANT": [
        {
          "MORTGAGOR ": "抵押人姓名",
          "ID_TYPE": "证件类型 ",
          "ID_NO": "证件号码",
          "MORTGAGOR_TEL": "抵押人联系电话",
          "MORTGAGOR_ADDR": "抵押人联系地址",
          "REAL_NAME": "不动产名称(坐落)",
          "CERT_NO": "不动产证号或预售合同号",
          "CERT_NO_PRE": "卖方不动产证号",
          "REAL_UNIT_NO": "不动产单元号",
          "SHARED_TYPE ": "不动产共有情况 ",
          "PORTION ": "共有份额",
          "AGENT_NAME": "代理人姓名",
          "AGENT_ID_TYPE ": "代理人证件类型",
          "AGENT_ID_NO ": "代理人证件号码"
        }
      ],
      "DEBT_TYPE": "01 ",
      "REG_TYPE": "D01 ",
      "LOAN_REASON": "贷款原因",
      "LOAN_PRICE": "贷款金额",
      "DEBT_PRICE": "被担保主债权数额",
      "DEBT_STARTDATE": "债务履行起始日期 ",
      "DEBT_ENDATE": "债务履行结束日期 ",
      "ASSUER_RANGE": "担保范围",
      "MAX_DEBT_EVALUAT": "最高债权数额",
      "MAX_DEBT_START": "2019-07-12",
      "MAX_DEBT_END": "2029-07-12",
      "DEBT_MAN": "债务人",
      "MORT_SHARED_TYPE": "01 ",
      "MORT_SHARED_PORTION": "",
      "MORT_CONTRACT_DATE": "抵押合同签订日期",
      "CONTRACT_URL ": "http://... ",
      "CONTRACT_FILE_TYPE ": "01 ",
      "COMMENT": "备注:"
    }
    

     

    展开全文
  • 将Java .properties文件转换JSON(使用JavaScript)。 函数propertiesToJSON接受一个字符串并返回一个JavaScript对象。 读取node的本地文件: const fs = require ( "fs" ) ; const path = require ( "path" ) ;...
  • Java读取项目json文件并转为JSON对象

    千次阅读 2019-12-26 15:31:06
    1、创建json文件(demo.json) { "button": [ { "type": "click", "name": "今日歌曲", "key": "V1001_TODAY_MUSIC" }, { "name": "菜单", "sub_button": [ { "type": "view", ...

    1、创建json文件(demo.json)

    {
    	"button": [
    		{
    			"type": "click",
    			"name": "今日歌曲",
    			"key": "V1001_TODAY_MUSIC"
    		},
    		{
    			"name": "菜单",
    			"sub_button": [
    				{
    					"type": "view",
    					"name": "搜索",
    					"url": "http://www.soso.com/"
    				},
    				{
    					"type": "miniprogram",
    					"name": "wxa",
    					"url": "http://mp.weixin.qq.com",
    					"appid": "wx286b93c14bbf93aa",
    					"pagepath": "pages/lunar/index"
    				},
    				{
    					"type": "click",
    					"name": "赞一下我们",
    					"key": "V1001_GOOD"
    				}
    			]
    		}
    	]
    }
    

    在这里插入图片描述
    2、在pom.xml中添加依赖包

    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>fastjson</artifactId>
    			<version>1.2.54</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.commons</groupId>
    			<artifactId>commons-io</artifactId>
    			<version>1.3.2</version>
    		</dependency>
    

    3、创建测试类(FileDemo3.java)

    package com.jeff.demo;
    
    import java.io.InputStream;
    
    import org.apache.commons.io.IOUtils;
    
    import com.alibaba.fastjson.JSONObject;
    
    public class FileDemo3 {
    
    	public static JSONObject fileToJson(String fileName) {
    		JSONObject json = null;
    		try (
    			InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
    		) {
    			json = JSONObject.parseObject(IOUtils.toString(is, "utf-8"));
    		} catch (Exception e) {
    			System.out.println(fileName + "文件读取异常" + e);
    		}
    		return json;
    	}
    
    	public static void main(String[] args) {
    		String fileName = "doc/demo.json";
    		JSONObject json = FileDemo3.fileToJson(fileName);
    		System.out.println(json);
    	}
    
    }
    
    

    4、控制台输出结果
    在这里插入图片描述

    展开全文
  • 思路:采用gson; 找出一个json格式的数据: {bh:'A112',sjzmc:'fe',sjzjs:'js',sjzxqdz:'dz'},前提是key的名称要和实体类对象中的属性一致。... //2、调用toJson(Object)将对象转为字符串 String json =
  • 需要的依赖 我们这里使用的是fastjson-1.2.73 Maven地址:...JSON文件内容 [ { "_index": "index-1", "_type": "type-1", "_id": "111111", "_score": 7.8561087, "_source": { "rooms": [ "222222
  • 将json文件转化java对象的编写

    千次阅读 2017-12-08 11:33:00
    批量递归将Json文件通过Gson转化为Map,在转化为POJO在插入数据库中.
  • //->JSON格式的对象 (只要把普通对象的属性名用””(不能是”)包起来,这样的格式就是我们JSON格式的对象) var data = [ {name: “”, age: “”}, {name: “”, age: “”} ];//->普通的二维数组 var jsonData = [ ...
  • JAVA-JSON工具转换

    2018-06-19 15:03:07
    该工具类包括多重的json字符串或Map或List的相互转换,该文件包括主要的jar包,可以快捷的使用工具
  • JSON格式转换Java对象

    千次阅读 2019-10-25 18:57:33
    (一)转换Java对象 代码 @Test public void test04() throws IOException { String json ="{\"gender\":\"男\",\"age\":23,\"username\":\"ALworm\"}"; ObjectMapper mapper = new ObjectMapper(); ...
  • java转换json字符串 在学习如何编写基于Java的软件时,开发人员遇到的第一个障碍就是如何其代码与其他软件连接。 这通常是JSON的来源。虽然您可能是Java向导,但JSON是另一种动物。 无论如何,这篇博客文章解释了...
  • Java类实现了标准的json字符串转换成map,并数据解析到Excel的方法,本方法简单实用,可以批量导出数据到Excel文档中
  • import cn.hutool.core.io.file.FileReader; import com.alibaba.fastjson.JSON; import com.api.apitools.dto.ApiDto; import ... ... ...FileReader fileReader = new FileReader("RAP-xxxxxxxx.json".
  • Java 自动读取json文件转化为实体类

    千次阅读 2018-11-26 09:48:44
    1 创建一个辅助类,与json文件转化实体类分别建立对应关系 2 创建辅助类的注解属性与json文件属性对应 3 辅助类字段属性与实体类相同 具体需求 json文件 {"Main": {"TestNo": "...
  • JSON转换JAVA对象及日期格式转换处理 -
  • java语言解析json文件,其中包含各种解析json文件所需要的jar包; 包含对于时间戳转化为时间的方法; 以及文件的读写,arraylist类容易出现的问题等。
  • Java 复杂的Json文件解析为java对象

    千次阅读 2017-09-01 11:04:52
    Json类对象主要有JsonObject和JsonArray两种格式,对一个复杂json对象的解析一定要先理清其中的关系,比如那里该用到对象,那里是数组。 下面是一个较为复杂的Json文件的处理过程。该json文件的大致构成如下: ...
  • 我们在后端调用接口得到的结果集后,通常结果集是json的形式,如果我们要想获取json中得到内容,我们可以将json转换为class类,下面我们一起来看看吧 文章目录引入maven依赖result结果集转换为class类定义一个...
  • 首先获取本地的json文件 (详细信息或者乱码可参考:... /** * 读取json文件并且转换成字符串 * @param filePath文件的路径 * @return * @throws IOException */ public static Stri...
  • JAVACSV文件转换成JSON

    千次阅读 2020-11-03 11:40:24
    从数据库导出的csv文件以指定对应的key转换成json。 思路 使用openCSV读取csv文件。 给定一个String数组,保存json的keys。 遍历csv的每行数组,遍历keys和一行的所有列,append到一个json中。得到的json...
  • 使用第三方工具各种对象成json格式,比如JavaBean对象/List或Set或Map对象
  • Java中将List集合对象转换成json对象 在pom.xml文件中增加jar包依赖: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>...
  • 目录一、导入一个fastjson的jar包二、Json字符串格式 一、导入一个fastjson的jar包 在pom.xml里加上这个依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</...
  • 文章目录1、Java与前台的交互2、解析JSON的第三方工具3、JSON数据和Java对象的相互转换Java对象转换JSON字符串JSON字符串转为Java对象 1、Java与前台的交互 作为后台,Java不仅需要接收前台传递过来的数据,还需要...
  • Java通过json文件导入导出数据库数据

    千次阅读 2020-11-12 11:35:39
    我们在工作中,会遇到项目在不同的环境运行,当我们需要这个环境中的某些数据快速的移动到另一个环境,我们就可以通过导入导出json文件的方式实现。例如:我们这个环境的数据库中用户信息导出为一份json格式文件...
  • 挺好用的一个JSON转换工具包,含Java端与JavaScript端的JSON对象转换工具类,使用时直接导入至项目源文件中并...此文件Java端使用,如需JavaScript端的请移步我的另一上传资源“JSON对象转换工具类(JavaScript端)”
  • Java对象JSON数据的相互转换

    千次阅读 2020-12-03 15:55:18
    文章目录Java对象JSON数据的相互转换一、Java对象JSON基本使用注解使用二、JSON转为Java对象使用步骤 一、Java对象JSON 一般Java对象JSON的相互转换都使用JSON解析器来完成。 常见的JSON解析器有:Json...
  • //演示 json字符串转换java对象 @Test public void test5() throws IOException { //初始化json字符串 String json= "{ \" gender \" : \" 男 \" , \" name \" : \" zmy \" , \" age \" :15}" ; //创建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,800
精华内容 38,720
关键字:

java将json文件转换成对象

java 订阅