1. 程式人生 > >Java讀寫Json檔案

Java讀寫Json檔案

java讀寫JSon檔案有以下:

(1)將JSon檔案通過普通文字檔案的方式進行讀取,並且存放在一個字串中。

(2)建立一個JSon物件,並將字串初始化到JSon物件中,這裡需要引入一個JSon的包Json-org.jar引入包的具體做法如下:

  • 下載json-org.jar的包放在本地目錄中
  • 讀寫json檔案所在的專案中buildpath--》configureBuidpath--》add external jar然後將json-org.jar包匯入到專案中

(3)通過建立的JSon物件完成對資料的操作和處理

(4)將操作完成的JSon物件轉換成字串

(5)將字串存放在指定的Json檔案中

下面的程式碼操作的是src/json目錄下的test.json檔案,實現的功能是新增“nameID”欄位並且刪除“ISO”欄位,並存放在src/json目錄下newFile.json新的檔案中,檔案的內容如下:

{
"type": "FeatureCollection",  
    "features": [{  
        "type": "Feature",  
        "properties": {  
            "name": "Yuen Long",  
            "ID_0": 102,  
            "ID_1": 18,  
            "ISO": "HKG"  
        },  
        "geometry": {  
            "type": "Polygon",  
            "coordinates": [[[114.084511, 22.519991], [114.075668, 22.517466], [114.078194, 22.516203], [114.079460, 22.516623], [114.082825, 22.519150], [114.084511, 22.519991]]]  
        }  
    }]
}

程式碼如下:

public class test {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>(); 
        list.add("admin");
        //讀取json檔案
        try {
            BufferedReader br = new BufferedReader(new FileReader("src/json/test.json"));
            BufferedWriter bw=new BufferedWriter(new FileWriter("src/json/newFile.json"));
            String str=null;
            String data="";
            while((str=br.readLine())!=null) {
                data=data+str+"\n";
            }
            JSONObject dataJson = new JSONObject(data);
            JSONArray features=dataJson.getJSONArray("features");
            for (int i = 0; i < features.length(); i++) {  
                JSONObject info = features.getJSONObject(i);// 獲取features陣列的第i個json物件  
                JSONObject properties = info.getJSONObject("properties");// 找到properties的json物件  
                String name = properties.getString("name");// 讀取properties物件裡的name欄位值  
                System.out.println(name);  
                properties.put("NAMEID", list.get(i));// 新增NAMEID欄位  
                // properties.append("name", list.get(i));  
                System.out.println(properties.getString("NAMEID"));  
                properties.remove("ISO");// 刪除ISO欄位 
                String ws=dataJson.toString();
                System.out.println(ws);
                bw.write(ws);  
                // bw.newLine();  
                bw.flush();  
                br.close();  
                bw.close();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }// 讀取原始json檔案 
 catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}    
    }

}

相關推薦

java json檔案

json檔案放在maven工程的resource 的html 檔案下面 package com.dl.utils; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUt

JavaJson檔案

java讀寫JSon檔案有以下: (1)將JSon檔案通過普通文字檔案的方式進行讀取,並且存放在一個字串中。 (2)建立一個JSon物件,並將字串初始化到JSon物件中,這裡需要引入一個JSon的包Json-org.jar引入包的具體做法如下: 下載json-org.j

pythonjson檔案[未測試]

建立json檔案: {     "fontFamily": "微軟雅黑",     "fontSize": 12,     "BaseSettings":{     

Java hdfs檔案或者目錄

1.讀取單個檔案     [java] view plain copy Date date = DateUtil.getSpecifiedDayBefore();   String&

C++通過jsoncpp類庫JSON檔案-json用法詳解

介紹: JSON 是常用的資料的一種格式,各個語言或多或少都會用的JSON格式。 JSON是一個輕量級的資料定義格式,比起XML易學易用,而擴充套件功能不比XML差多少,用之進行資料交換是一個很好的選擇。JSON的全稱為:JavaScript Object Notation ,顧名思義,JSON是用於標記

pythonjson檔案

JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、Java、JavaScript、Perl、P

用fastjson將物件的列表轉換成json格式,並.json檔案

import com.alibaba.fastjson.JSON; import org.json.JSONArray; import org.json.JSONObject; public static void main(String[] args) {

java筆記)javaCSV檔案的方法

CSV檔案 逗號分隔值(Comma-Separated Values,CSV,有時也稱為字元分隔值,因為分隔字元也可以不是逗號),其檔案以純文字形式儲存表格資料(數字和文字)。純文字意味著該檔案是一個字元序列,不含必須像二進位制數字那樣被解讀的資料。CSV檔案由任意數目的記錄組成,記

nodejsjson檔案

nodejs 讀json檔案 var fs=reauire('fs'); var file="d:\\0.json"; var result=JSON.parse(fs.readFileSync( file)); //操作物件 nodejs 寫json檔

java yaml 檔案

簡介 Yaml是一種“是一個可讀性高並且容易被人類閱讀,容易和指令碼語言互動,用來表達資料序列的程式語言。”類似於XML但比XML更簡潔,適合編寫配置檔案。 基本語法規則 大小寫敏感 使用縮排表示層級關係 縮排時不允許使用Tab鍵,只允許使用空格 縮排的

javaCSV檔案的兩種方法

BufferedWriter writer =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "GBK")) ;// 附加 上述程式碼片段作用: 轉碼 逗號分隔值(Com

Pythonjson檔案的簡單實現

轉自:指令碼之家 介紹 JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、Jav

javaproperties檔案,解決系統找不到指定路徑,解決寫入後讀取正常,但檔案資料未更新問題

properties屬性檔案:config.properties # #Tue Aug 13 15:30:56 CST 2013 timeInterval=33 name=holdOn filepath=bb ip=192.168.1.1 類例項:Configuration.java  package

Java二進位制檔案到String,再寫入二進位制檔案

概述 java讀寫檔案的有很多種方式,基本都是採用java.io的inputStream和各種基於inputstream的封裝實現對檔案的讀寫,最原始的介面提供的便是基於byte的讀寫,而String可以看做是char[],一個char是8個byte。在最原始

(6)Java hdfs檔案或者目錄

1.讀取單個檔案 Date date = DateUtil.getSpecifiedDayBefore(); String yesterday = DateUtil.dateToStr(

Java配置檔案properties

1.新建一個test.properties檔案,裡面的值是pageNo=1  2.下面的程式碼是從百度中找到然後修改過的,因為直接填寫filepath根本不行,在讀的時候用Thread.currentThread().getClass().getResourceAsStre

JavaProperties 檔案

private final static String SYS_TEMP_FILE = System .getProperty("java.io.tmpdir") + "\\9884698793643198z.properties"; private static Map

Java docx檔案後直接轉成PDF檔案方法

java將docx檔案轉成pdf檔案的實現方法,需要的jar包下載地址:https://download.csdn.net/download/keke921231/10529672  1.讀寫docx檔案。需要讀寫docx檔案需要用到poi包,等下會提供下載地址,在讀寫doc

java如何json文件

ebo contex efault 項目 lean 積分 但是 .get eof   在實際項目開發中,有時會遇到一些全局的配置緩存,最好的做法是配置redis數據庫作為數據緩存,而當未有配置redis服務器時,讀取靜態資源文件(如xml、json等)也是一種實現方式,但是

Java:使用DOM4j來實現XML檔案中的屬性和元素

DOM4可以讀取和新增XML檔案的屬性或者元素 讀取屬性: public static void ReadAttributes() throws DocumentException { File file = new File("D:\\cmz\\java\\XMLTest\\Custom