lijunhao189 2020-05-12 15:52 采纳率: 0%
浏览 339
已采纳

json格式文件读取,坐标系转换,替换

java 如何读取js格式文件,并将文本中坐标系进行转换替换?
文件格式如下:
var dayData = [[{"COLUMN4_MAX":7640,"COLUMN2":"119.828916,30.298656"},{"COLUMN4_MAX":7577,"COLUMN2":"120.049416,30.235656"}],[{"COLUMN4_MAX":7640,"COLUMN2":"119.828916,30.298656"},{"COLUMN4_MAX":7577,"COLUMN2":"120.049416,30.235656"}]]

  • 写回答

1条回答 默认 最新

  • 马志武 2020-05-12 18:05
    关注
    package com.mzw;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    
    import org.json.JSONArray;
    import org.json.JSONObject;
    
    public class TestC {
    
        public static void main(String[] args) {
            //读取文件内容
            String str = readTxt("C:/Users/Administrator/Desktop/qwe.js");
            //截取字符串
            str = str.substring(str.indexOf("=")+1,str.length()).trim();
            //判断是否为数组
            if(str.startsWith("[")){
                JSONArray jsonArray = new JSONArray(str);
    
                for (Object obj : jsonArray) {
    
                    for (Object obj2 : ((JSONArray)obj)) {
                        String COLUMN2 = ((JSONObject)obj2).get("COLUMN2").toString();
                        String COLUMN4_MAX = ((JSONObject)obj2).get("COLUMN4_MAX").toString();
                        //打印数据
                        System.out.println("COLUMN2 : " + COLUMN2 + " , COLUMN4_MAX : " + COLUMN4_MAX);
                    }
                }
            }
        }
    
        // 读取文件数据
        public static String readTxt(String txtPath) {
            File file = new File(txtPath);
            if(file.isFile() && file.exists()){
                try {
                    FileInputStream fileInputStream = new FileInputStream(file);
                    InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"UTF-8");
                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    
                    StringBuffer sb = new StringBuffer();
                    String text = null;
                    while((text = bufferedReader.readLine()) != null){
                        if(!"".equals(text) && text != null){
                            if(text.length() > 3){
                                sb.append(text.replaceAll(" ", ","));
                                sb.append(",");
                            }
                        }
                    }
                    return sb.toString();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器