解析json文件,在命令提示符中编译运行

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 解析json文件,在命令提示符中编译运行

有一个电影评分的json文件,打开如图所示:

1ecd1b2606ed46e9956a89f231c9802c.png

现读取该文件内容,并按对象一条条显示。

具体代码实现:

package json.rate.pars;
/**
定义一个类用来描述电影评分的一些属性
**/
public class MovieRate {
  private String movie;
  private String rate;
  private String timeStamp;
  private String uid;   
//方便打印生成一个tostring  
  public String toString() {
    return "MovieRate [movie=" + movie + ", rate=" + rate + ", timeStamp="
        + timeStamp + ", uid=" + uid + "]";
package json.rate.pars;
import com.google.gson.Gson;
public class MovieLogRatePars {
  /**
   * 读取json文件中的一行,解析成对象
   * @param line
   * @return
   */
  public static MovieRate parsLine(String line){
    //调用Google的一个jar包
    Gson gson = new Gson();
    MovieRate fromJson = (MovieRate) gson.fromJson(line, MovieRate.class);
    return fromJson;
  }
package json.rate.pars;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class Test {
  public static void main(String[] args) throws Exception {
    //读取rating.json文件,读文件用BufferedReader()最方便,帶一個緩存
    //InputStreamReader()是將字節轉換成字符的转换流
    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("d:/rating.json")));
    int i=0;
    while(i<100){
    String line = reader.readLine();
    MovieRate parsLine = new MovieLogRatePars().parsLine(line);
    System.out.println(parsLine);
    i++;
    }
  }

总共3个java文件,放在一个路径下。


文件的路径是:jsonDemo\src\json\rate\pars\


jar包的路径是:jsonDemo\src\


在命令提示符中编译文件:


在文件根目录下输入该命令,-cp lib\gson-2.8.0.jar 代表找寻jar包的位置,然后编译子目录下的所有java文件。

1ecd1b2606ed46e9956a89f231c9802c.png

javac -cp lib\gson-2.8.0.jar src\json\rate\pars\*.java

然后进入scr目录下运行编译好的主程序文件:

java -cp .;gson-2.8.0.jar json.rate.pars.Test

-cp .;gson-2.8.0.jar中的点代表在当前目录下找class文件,分号代表在同时在gson-2.8.0.jar包中找class文件。


json.rate.pars.Test 这里不再用目录方式写,是因为Test文件是放在一个包中,这个包名在程序中存在,故用包名的方式引用。


最后读取的结果:

1ecd1b2606ed46e9956a89f231c9802c.png

相关文章
|
5天前
|
JSON JavaScript 前端开发
如何在Java中使用JSON:解析与生成
如何在Java中使用JSON:解析与生成
|
5天前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
14 0
|
1天前
|
XML JavaScript Java
解析XML文件的几种方法
解析XML文件的几种方法
|
12天前
|
JSON 数据格式
Notepad++怎么格式化json文件?
Notepad++怎么格式化json文件?
15 3
|
12天前
|
JSON JavaScript 前端开发
jQuery获取json文件的方法
jQuery获取json文件的方法
13 2
|
2天前
|
JSON 缓存 Java
Spring Boot中的JSON解析优化
Spring Boot中的JSON解析优化
|
2天前
|
存储 安全 Java
Java泛型:深度解析编译时类型安全的核心机制
【6月更文挑战第28天】Java泛型自JDK 1.5起增强了代码安全与复用。它们允许类、接口和方法使用类型参数,如`&lt;T&gt;`在`Box&lt;T&gt;`中。泛型确保编译时类型安全,例如`List&lt;String&gt;`防止了运行时ClassCastException。尽管运行时存在类型擦除,编译时检查仍保障安全。理解泛型核心机制对于优化Java编程至关重要。
|
2天前
|
JSON 缓存 Java
Spring Boot中的JSON解析优化
Spring Boot中的JSON解析优化
|
3天前
|
存储 JSON NoSQL
深入解析RedisJSON:在Redis中直接处理JSON数据
深入解析RedisJSON:在Redis中直接处理JSON数据
|
3天前
|
机器学习/深度学习 存储 算法
技术好文:ttf文件结构解析
技术好文:ttf文件结构解析

推荐镜像

更多