• 大小: 168KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Java
  • 标签: Javajson  

资源简介

开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。

资源截图

代码片段和文件信息

package json;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import org.json.JSONException;
import org.json.JSONobject;
import org.json.JSONArray;

public class JsonConvert {

/**
 * @param args
 */
public static void main(String[] args) {
// 读取nameID.txt文件中的NAMEID字段(key)对应值(value)并存储
ArrayList list = new ArrayList();
BufferedReader brname;
try {
brname = new BufferedReader(new FileReader(“src/json/nameID.txt“));// 读取NAMEID对应值
String sname = null;
while ((sname = brname.readLine()) != null) {
// System.out.println(sname);
list.add(sname);// 将对应value添加到链表存储
}
brname.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 读取原始json文件并进行操作和输出
try {
BufferedReader br = new BufferedReader(new FileReader(
“src/json/HK_geo.json“));// 读取原始json文件
BufferedWriter bw = new BufferedWriter(new FileWriter(
“src/json/HK_new.json“));// 输出新的json文件
String s = null ws = null;
while ((s = br.readLine()) != null) {
// System.out.println(s);
try {
JSONobject dataJson = new JSONobject(s);// 创建一个包含原始json串的json对象
JSONArray features = dataJson.getJSONArray(“features“);// 找到features json数组
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字段
}
ws = dataJson.toString();
System.out.println(ws);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

bw.write(ws);
// bw.newLine();

bw.flush();
br.close();
bw.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      187076  2015-07-13 17:43  json\HK_geo.json
     文件      185624  2015-07-13 17:52  json\HK_new.json
     文件        2532  2015-07-13 18:33  json\JsonConvert.java
     文件          46  2015-07-13 17:44  json\nameID.txt
     文件      119888  2014-07-31 10:59  json\org.json.jar
     目录           0  2015-07-13 17:44  json\

评论

共有 条评论