java读取json文件的问题

java读取json文件的问题,第1张

Java 读写json格式文件方法:

一、要解决这个问题首先要知道json格式是什么?

JSON格式:

比如学生有学号,姓名,性别等。

用json表示则为:

{"studno":"11111","studname":"":"男"}(各个字段都是字符型)

这代表一个学生的信息。

如果多个,如下:

[{"studno":"122222","studname":"":"男"}]

这就是json格式。

二、那如何 *** 作json格式的文件呢?

解答:就是直接读写文件,再把读出来的文件内容格式化成json就可以了。

三、具体 *** 作:

1、有一个实体类,如下:

public class ElectSet {

public String xueqi;

public String xuenian;

public String startTime;

public String endTime;

public int menshu;

public String isReadDB;

//{"xueqi":,"xuenian":,"startTime":,"endTime":,"renshu":,"isReadDB":}

public String getXueqi() {

   return xueqi;

}

public void setXueqi(String xueqi) {

   thisxueqi = xueqi;

}

public String getXuenian() {

   return xuenian;

}

public void setXuenian(String xuenian) {

   thisxuenian = xuenian;

}

public String getStartTime() {

   return startTime;

}

public void setStartTime(String startTime) {

   thisstartTime = startTime;

}

public String getEndTime() {

   return endTime;

}

public void setEndTime(String endTime) {

   thisendTime = endTime;

}

public int getMenshu() {

   return menshu;

}

public void setMenshu(int menshu) {

   thismenshu = menshu;

}

public String getIsReadDB() {

   return isReadDB;

}

public void setIsReadDB(String isReadDB) {

   thisisReadDB = isReadDB;

}

}

2有一个json格式的文件,存的就是他的信息,如下:

Setsjson:

{"xuenian":"2007-2008","xueqi":"1","startTime":"2009-07-19 08:30","endTime":"2009-07-22 18:00","menshu":"10","isReadDB":"Y"}

3具体 *** 作:

/

 取出文件内容,填充对象

/

public ElectSet findElectSet(String path){

   ElectSet electset=new ElectSet();

   String sets=ReadFile(path);//获得json文件的内容

   JSONObject jo=JSONObjectfromObject(sets);//格式化成json对象

   //Systemoutprintln("------------" jo);

   //String name = jogetString("xuenian");

   //Systemoutprintln(name);

   electsetsetXueqi(jogetString("xueqi"));

   electsetsetXuenian(jogetString("xuenian"));

   electsetsetStartTime(jogetString("startTime"));

   electsetsetEndTime(jogetString("endTime"));

   electsetsetMenshu(jogetInt("menshu"));

   electsetsetIsReadDB(jogetString("isReadDB"));

   return electset;

}

//设置属性,并保存

public boolean setElect(String path,String sets){

   try {

    writeFile(path,sets);

    return true;

   } catch (IOException e) {

    // TODO Auto-generated catch block

    eprintStackTrace();

    return false;

   }

}

//读文件,返回字符串

public String ReadFile(String path){

    File file = new File(path);

    BufferedReader reader = null;

    String laststr = "";

    try {

     //Systemoutprintln("以行为单位读取文件内容,一次读一整行:");

     reader = new BufferedReader(new FileReader(file));

     String tempString = null;

     int line = 1;

     //一次读入一行,直到读入null为文件结束

     while ((tempString = readerreadLine()) != null) {

      //显示行号

      Systemoutprintln("line " line ": " tempString);

      laststr = laststr tempString;

      line ;

     }

     readerclose();

    } catch (IOException e) {

     eprintStackTrace();

    } finally {

     if (reader != null) {

      try {

       readerclose();

      } catch (IOException e1) {

      }

     }

    }

    return laststr;

}

         //把json格式的字符串写到文件

public void writeFile(String filePath, String sets) throws IOException {

    FileWriter fw = new FileWriter(filePath);

    PrintWriter out = new PrintWriter(fw);

    outwrite(sets);

    outprintln();

    fwclose();

    outclose();

   }

4调用,使用(在网站的controller里调用的):

//取出json对象

public void GetElectSettings(>

首先要明白ajax的基本格式,参考下面的内容,可以发现,success是请求成功后服务器返回的数据,接收只需要把回调函数的值处理就可以了,如:

response:即为服务器返回的数据

success: function(response){

        consolelog(response);

}

如果response的个试试{"id":"123","name":"jghdream"}

取值的时候可以这样做:

var id  = responseid;

var name = responsename;

是ajax的一些参数:

$ajax({ 

    type:'post',

    url:'/testajaxphp',

    dataType:'json',

    data:{uid:uid,rands:Mathrandom()},

    success: function(){

        alert('ajax return success');

}});

url,类型:String,默认值: 当前页地址。发送请求的地址

data, 类型:String,发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'

dataType,类型:String,预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 >

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurlcallback=" jQuery 将自动替换 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

success,当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

以上就是关于java读取json文件的问题全部的内容,包括:java读取json文件的问题、mysql中的json数据类型、ajax 获取的json 数组怎么取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9353051.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存