精华内容
下载资源
问答
  • JAVA 解析json字符串常用方法
    2022-03-17 10:08:05
    java 解析 json 字符串 一般使用 fastjson 进行操作,即导入以下依赖即可
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.72</version>
        </dependency>
        // hutool  工具包
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.1.4</version>
        </dependency>
    

    例如需要解析 json 字符串 为

    {
        "error": 0,
        "status": "success",
        "results": [
            {
                "currentCity": "青岛",
                "index": [
                    {
                        "title": "穿衣",
                        "zs": "较冷",
                        "tipt": "穿衣指数",
                        "des": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
                    },
                    {
                        "title": "紫外线强度",
                        "zs": "中等",
                        "tipt": "紫外线强度指数",
                        "des": "属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。"
                    }
                ]
            }
        ]
    }
    

    解析如下:

           //这个属于发起请求并获取json数据(得引入hutool,即上面引入的第二个依赖)
            String json= HttpUtil.createGet(url).execute().body();
            //转化请求的 json 数据
            JSONObject jsonObject = JSONObject.parseObject(json);
            //获取 error 返回状态码
            String error = jsonObject.getString("error");
            //获取 results 数组
            JSONArray results = jsonObject.getJSONArray("results");
            for (int i = 0; i < results.size(); i++) {
                //获取青岛
                String currentCity = results.getJSONObject(i).getString("currentCity");
                //获取index数组
                JSONArray index = results.getJSONObject(i).getJSONArray("index");
                //遍历 index 数组
                for (int j = 0; j < index.size(); j++) {
                    //获取 title,下面的参数获取以此类推
                    String title = index.getJSONObject(j).getString("title");
                    String zs = index.getJSONObject(j).getString("zs");
                    String tipt = index.getJSONObject(j).getString("tipt");
                    String des = index.getJSONObject(j).getString("des");
                }
            }
       
    
    更多相关内容
  • 主要介绍了Java解析json报文实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 附件内容为:Java组装map数据,然后转换为json数据格式;Java解析json数据
  • JAVA 解析JSON格式数据

    2019-03-25 01:46:39
    NULL 博文链接:https://liwenshui322.iteye.com/blog/1166497
  • java解析json完整案例

    2015-10-16 22:56:38
    java获取网络json数据包和解析json数据完整案例。 需要用到json.org也包含在里边。
  • 此资源包,包含所有Java操作JSON所需要的依赖包,版本都是最新的,欢迎下载
  • 在用java写爬虫的时候需要用jsonobject解析json数据,需要导入多个包
  • java解析JSON数据

    2015-09-29 09:23:26
    使用该方法可以轻松解析JSON数组,方便取出JSON数据
  • java解析json的jar包

    2014-06-11 13:15:27
    此压缩包包含两个jar:json-lib-2.4-jdk15.jar和ezmorph-1.0.6.jar 这两个包都是java解析json数据的依赖包,而且是最新版,开源的东东好多人还要分,俺不要分,只希望对你有用。
  • java解析json字符串

    热门讨论 2013-03-08 12:52:43
    这个工程里面包含了解析json的jar,和解析json的一个小例子。 在运行这个工程时,需要重新,自行导入工程中,lib目录下的jar包 JSONObject jsonObject = new JSONObject(jsonString);//将字符串转换成JSON对象 ...
  • NULL 博文链接:https://thoreau.iteye.com/blog/2087090
  • java把string转换为json,之后解析需要用到的jar包和依赖包。
  • java 解析 json文件 java 解析 json文件

    热门讨论 2010-03-22 22:37:18
    java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件
  • 压缩包里面有两个文档,里面的代码是一样的,只是两种文档格式。。。方法不需要修改传json参数就行了,会返回解析好的数据
  • java解析json

    2015-08-07 11:12:07
    java读取json格式3层树结构数据(包含中括号)
  • 主要介绍了Java fastjson解析json字符串实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 阿里巴巴的一款java解析json的jar包,fastjson,方便简单实用!
  • Java解析JSON数据

    千次阅读 2021-07-15 11:35:35
    我们用来解析json格式的jar包有很多,jackson,fastjson,gson都行。但本人喜欢用fastjson。所以本篇都是以fastjson来解析json文件。 1.解析本地json文件 随便把一个json文件存储在本地的一个文件夹下,然后通过文件...

    这篇文章主要讲讲 通过java去解析不同地方的json文件

    通常我们需要解析本地的json文件或者服务器上的json文件。我们用来解析json格式的jar包有很多,jackson,fastjson,gson都行。但本人喜欢用fastjson。所以本篇都是以fastjson来解析json文件。

    1.解析本地json文件

    随便把一个json文件存储在本地的一个文件夹下,然后通过文件流将json文件内容读取出来。

    然后转换成String,最后转json对象,然后再解析,获取自己想要的数据。

    首先我们这个json文件的格式是:

    {
        "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "geometry": {
                    "type": "Point",
                    "coordinates": [
                        121.4672,
                        31.11606
                    ]
                },
                "properties": {
                    "id": "16N5877",
                    "q": 1
                }
            },
            {
                "type": "Feature",
                "geometry": {
                    "type": "Point",
                    "coordinates": [
                        121.531212,
                        31.3701954
                    ]
                }
            }
        ]
    }
    

    下面我们用到的是字符流:

    	//把一个文件中的内容读取成一个String字符串
        public static String getStr(File jsonFile){
            String jsonStr = "";
            try {
                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

    @Test
        public void shuiLing(){
            String json = "E:\\gis\\data\\pd20192021-07-08.json";
            File jsonFile = new File(json);
            //通过上面那个方法获取json文件的内容
            String jsonData = CommonUtil.getJsonStr(jsonFile);
            //转json对象
            JSONObject parse = (JSONObject)JSONObject.parse(jsonData);
            //获取主要数据
            JSONArray features = parse.getJSONArray("features");
            //挨个遍历 
            for (Object feature : features) {
                JSONObject featureObject =(JSONObject)feature;
                JSONObject properties = featureObject.getJSONObject("properties");
                JSONObject geometry = featureObject.getJSONObject("geometry");
                JSONArray coordinates = geometry.getJSONArray("coordinates");
    //            System.out.println(coordinates);
                //通过创建对应的实体类去存储对应数据然后存库
                GisDetails gisDetails = new GisDetails();
                gisDetails.setCreateTime(new Date());
                String date = jsonFile.getName();
    	 gisDetails.setDatetime(date.substring(date.indexOf("2021"),date.indexOf('.')));
                gisDetails.setId(properties.getString("id"));
                gisDetails.setQ(new BigDecimal(properties.getString("q")));
                gisDetails.setLat(new BigDecimal(coordinates.getString(1))); //维度
                gisDetails.setLon(new BigDecimal(coordinates.getString(0))); // 经度
    //            System.out.println(properties);
                //如果数据量大不建议这样入库 直接拼接sql 然后插入一次
                int i = gisService.insertGisDetails(gisDetails);
                if (i>=0){
                    log.info("==>成功"+gisDetails);
                }else{
                    log.info("==》失败"+gisDetails);
                }
            }
        }
    

    2.访问服务器上的json文件并解析到数据库中

    使用这种方式就有一个坑需要注意了,通过url拉下来的json文件不能直接转json对象,因为有很多的斜杠和多余的引号需要处理。

    然后还多了一步需要对url进行连接,连接成功才能读取json内容。

    所以这里使用的java原生的URL去访问资源。然后我们通过tomcat去模拟。当然其他的url都可以读取,只要浏览器里能打开,并且是json格式。

    @Test
    public void shuiLing2(){
        String json = "http://localhost:8110/static/test2021-07-08.json";
        // 通过URL去访问服务器上的资源
        URL url = null;
        try {
            url = new URL(json);
            URLConnection urlCon = url.openConnection();
            urlCon.connect();         //获取连接
            InputStream is = urlCon.getInputStream();
            BufferedReader buffer = new BufferedReader(new InputStreamReader(is));
            StringBuffer bs = new StringBuffer();
            String l = null;
            while((l=buffer.readLine())!=null){
                bs.append(l).append("/n");
            }
            //去斜杠和引号
            String s = JSON.toJSONString(bs);
            s = s.replaceAll("\\\\","");
            //多余的换行符
            s = s.replace("/n","");
            //对第一个引号和最后一个引号处理
            s = s.substring(1,s.length()-1);
            JSONObject parse = (JSONObject)JSONObject.parse(s);
            JSONArray features = parse.getJSONArray("features");
            for (Object feature : features) {
                JSONObject featureObject =(JSONObject)feature;
                JSONObject properties = featureObject.getJSONObject("properties");
                JSONObject geometry = featureObject.getJSONObject("geometry");
                JSONArray coordinates = geometry.getJSONArray("coordinates");
                GisDetails gisDetails = new GisDetails();
                gisDetails.setCreateTime(new Date());
                gisDetails.setDatetime(json.substring(json.indexOf("2021"),json.indexOf('.')));
                gisDetails.setId(properties.getString("id"));
                gisDetails.setQ(new BigDecimal(properties.getString("q")));
                gisDetails.setLat(new BigDecimal(coordinates.getString(1))); //维度
                gisDetails.setLon(new BigDecimal(coordinates.getString(0))); // 经度
                int i = gisService.insertGisDetails(gisDetails);
                if (i>=0){
                    log.info("==>成功"+gisDetails);
                }else{
                    log.info("==》失败"+gisDetails);
                }
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    然后如果对你有帮助记得点赞喔!

    展开全文
  • JAVA解析JSON数据

    千次阅读 2021-02-12 10:52:04
    在使用第三方api的使用,有时候会从网络中获得json数据,所以说我们将如何解析json数据?下面小编将通过以下几点来进行json的讲解JSON (JavaScript Object Notation) is a lightweight data-interchange format. It ...

    在使用第三方api的使用,有时候会从网络中获得json数据,所以说我们将如何解析json数据?

    下面小编将通过以下几点来进行json的讲解

    JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of theJavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

    31859a7919c3b8bc6736b8a292a5f03b.png

    cc269ce6a6235842c57862d96620bbe7.png

    2.Json数据类型

    2-1.json对象

    056dedb41a1101807e2d5814c4aad06a.png

    2-2.json数组

    a3e3ecd7e17f982a9ad53c9ef0b4ce34.png

    ps:JSONObject与JSONArray的区别

    6c9430599e1367d1bd824b2024f67ba8.png(JSON数组)

    300930a13e99c7ab3922096f116115fa.png(JSON数组)

    3.解析JSON数据(小编使用的GSON进行json数据的解析)

    3-1 【JSONObject的解析】

    下面是一个json文件:

    {

    "resultcode": "200",

    "reason": "successed!",

    "result": {

    "sk": {

    "temp": "24",

    "wind_direction": "西南风",

    "wind_strength": "2级",

    "humidity": "51%",

    "time": "10:11"

    },

    "today": {

    "temperature": "16℃~27℃",

    "weather": "阴转多云",

    "weather_id": {

    "fa": "02",

    "fb": "01"

    },

    "wind": "西南风3-4 级",

    "week": "星期四",

    "city": "滨州",

    "date_y": "2015年06月04日",

    "dressing_index": "舒适",

    "dressing_advice": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。",

    "uv_index": "最弱",

    "comfort_index": "",

    "wash_index": "较适宜",

    "travel_index": "",

    "exercise_index": "较适宜",

    "drying_index": ""

    },

    "future": [

    {

    "temperature": "16℃~27℃",

    "weather": "阴转多云",

    "weather_id": {

    "fa": "02",

    "fb": "01"

    },

    "wind": "西南风3-4 级",

    "week": "星期四",

    "date": "20150604"

    },

    {

    "temperature": "20℃~32℃",

    "weather": "多云转晴",

    "weather_id": {

    "fa": "01",

    "fb": "00"

    },

    "wind": "西风3-4 级",

    "week": "星期五",

    "date": "20150605"

    },

    {

    "temperature": "23℃~35℃",

    "weather": "多云转阴",

    "weather_id": {

    "fa": "01",

    "fb": "02"

    },

    "wind": "西南风3-4 级",

    "week": "星期六",

    "date": "20150606"

    },

    {

    "temperature": "20℃~33℃",

    "weather": "多云",

    "weather_id": {

    "fa": "01",

    "fb": "01"

    },

    "wind": "北风微风",

    "week": "星期日",

    "date": "20150607"

    },

    {

    "temperature": "22℃~34℃",

    "weather": "多云",

    "weather_id": {

    "fa": "01",

    "fb": "01"

    },

    "wind": "西南风3-4 级",

    "week": "星期一",

    "date": "20150608"

    },

    {

    "temperature": "22℃~33℃",

    "weather": "阴",

    "weather_id": {

    "fa": "02",

    "fb": "02"

    },

    "wind": "西南风3-4 级",

    "week": "星期二",

    "date": "20150609"

    },

    {

    "temperature": "22℃~33℃",

    "weather": "多云",

    "weather_id": {

    "fa": "01",

    "fb": "01"

    },

    "wind": "南风3-4 级",

    "week": "星期三",

    "date": "20150610"

    }

    ]

    },

    "error_code": 0

    }

    我们进行解析(解析一部分):

    package cn.edu.bzu.json;

    import java.io.FileNotFoundException;

    import java.io.FileReader;

    import com.google.gson.JsonArray;

    import com.google.gson.JsonIOException;

    import com.google.gson.JsonObject;

    import com.google.gson.JsonParser;

    import com.google.gson.JsonSyntaxException;

    public class Read {

    public static void main(String args[]){

    JsonParser parse =new JsonParser(); //创建json解析器

    try {

    JsonObject json=(JsonObject) parse.parse(new FileReader("weather.json")); //创建jsonObject对象

    System.out.println("resultcode:"+json.get("resultcode").getAsInt()); //将json数据转为为int型的数据

    System.out.println("reason:"+json.get("reason").getAsString()); //将json数据转为为String型的数据

    JsonObject result=json.get("result").getAsJsonObject();

    JsonObject today=result.get("today").getAsJsonObject();

    System.out.println("temperature:"+today.get("temperature").getAsString());

    System.out.println("weather:"+today.get("weather").getAsString());

    } catch (JsonIOException e) {

    e.printStackTrace();

    } catch (JsonSyntaxException e) {

    e.printStackTrace();

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    }

    }

    }

    输出结果:

    7a501e37840da2733f4bf9cdfd03b68e.png

    3-2 【JSONArray的解析】

    下面是一个json文件

    {"cat":"it","language":[

    {"id":1,"ide":"eclipse","name":Java},

    {"id":2,"ide":"XCode","name":"Swift"},

    {"id":3,"ide":"Visual Stdio","name":"C#"}

    ],"pop":true}

    我们进行解析:

    package cn.edu.bzu.json;

    import java.io.FileNotFoundException;

    import java.io.FileReader;

    import com.google.gson.JsonArray;

    import com.google.gson.JsonIOException;

    import com.google.gson.JsonObject;

    import com.google.gson.JsonParser;

    import com.google.gson.JsonSyntaxException;

    public class ReadJSON {

    public static void main(String args[]){

    try {

    JsonParser parser=new JsonParser(); //创建JSON解析器

    JsonObject object=(JsonObject) parser.parse(new FileReader("test.json")); //创建JsonObject对象

    System.out.println("cat="+object.get("cat").getAsString()); //将json数据转为为String型的数据

    System.out.println("pop="+object.get("pop").getAsBoolean()); //将json数据转为为boolean型的数据

    JsonArray array=object.get("language").getAsJsonArray(); //得到为json的数组

    for(int i=0;i

    System.out.println("---------------");

    JsonObject subObject=array.get(i).getAsJsonObject();

    System.out.println("id="+subObject.get("id").getAsInt());

    System.out.println("name="+subObject.get("name").getAsString());

    System.out.println("ide="+subObject.get("ide").getAsString());

    }

    } catch (JsonIOException e) {

    e.printStackTrace();

    } catch (JsonSyntaxException e) {

    e.printStackTrace();

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    }

    }

    }

    输出结果:

    ceaca33f46e41dcf3714764c52cd249f.png

    3-3 【分析】

    我们通过Gson进行解析,所以在使用前需要导入Gson.jar

    解析json数据时,

    1.需要进行创建Gson解析器

    2.创建JSONObject对象

    3.将json数据转为为相应的数据

    4.源代码下载:

    展开全文
  • java解析json文件

    2021-03-15 20:46:29
    文件传输解析2.本地文件路径解析2.1.依赖2.2.json路径及示例2.2.3.代码实现 1.文件传输解析 @ResponseBody @PostMapping(value = "importJson") public String importJson(@RequestParam(value = "file") ...

    1.文件传输解析

    @ResponseBody
    @PostMapping(value = "importJson")
    public String importJson(@RequestParam(value = "file") MultipartFile file) throws Exception {
        byte[] fileBytes = file.getBytes();
        String fileName = file.getOriginalFilename();
        String jsonString = new String(fileBytes, StandardCharsets.UTF_8.name());
        List<MyBean> list = JSON.parseArray(jsonString,MyBean.class);
        //处理list集合
        return "1";
    }
    

    2.本地文件路径解析

    2.1.依赖
     <!-- commons -->
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
    </dependency>
    
     <!-- json解析 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.69</version>
    </dependency>
    
    2.2.json路径及示例

    resources目录下

    在这里插入图片描述

    my.json

    [
    	{
    		"id":"1",
    		"name":"张三"
    	},
    	{
    		"id":"2",
    		"name":"李四"
    	}
    ]
    
    2.2.3.代码实现
    public static void main(String[] args) throws IOException {
        //类路径classpath
        ClassPathResource resource = new ClassPathResource("my.json");
        File file = resource.getFile();
        String fileStr = FileUtils.readFileToString(file);
        List<JSONObject> list = JSONObject.parseArray(fileStr, JSONObject.class);
        System.out.println(list);
    }
    
    展开全文
  • JSON官网上推荐的使用java解析json的类库,官网下载后的是未编译打包的java文件,这是我打包后的东东,使用时直接添加进Build path即可,简单实用……
  • java 解析json数据的几种方式
  • JAVA解析JSON,数据(包齐全)
  • Java解析JSON的四种方式

    千次阅读 2021-02-27 22:22:27
    一、什么是JSONJSON是一种轻量级的数据交换格式,采用完全独立...二、JSON 语法(1)数据在名称/值对中(2)数据由逗号分隔(3)大括号保存对象(4)中括号保存数组三、JavaJSON的生成与解析的四种方式(简单的Demo):一个...
  • Java解析JSON文件的方法(一)

    万次阅读 2021-08-19 09:22:17
    Java解析JSON文件的方法(一) 一、首先需要在Eclipse工程中导入相关的jar包,jar包参见链接:http://yunpan.alibaba-inc.com/share/link/NdA5b6IFK 二、 提供一份待解析的json文件,apkinfo.json如下: [ { “name...
  • java解析json list

    2020-11-14 09:35:21
    java解析json list
  • 主要介绍了Java解析JSON数据时报错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 使用json.org.jar包,解析json文件,比较简洁明了,该资源是一个android小DEMO
  • java解析json字符串

    2019-01-07 22:15:31
    java中需要解析前端传过来的json数据,完成相应的格式转换~

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,219
精华内容 88,087
关键字:

java解析json

java 订阅
友情链接: Untitled.rar