精华内容
下载资源
问答
  • HTML5怎么读取json文件

    千次阅读 2019-04-29 08:49:09
    利用getJson()函数获取json文件 getJson(url,[data],[Callback]),对具体的参数解释如下: url:加载的页面地址 data:传递的数据 Callback:加载完成是回调函数 ...

          利用getJson()函数获取json文件

    getJson(url,[data],[Callback]),对具体的参数解释如下:

                url:加载的页面地址

                data:传递的数据

                Callback:加载完成是回调函数

     

    展开全文
  • 怎么读取json文件中的多个json数据,然后将这几个json数据分别去请求api,返回多个请求的结果? json数据:{"partnerId":"PT0000000001","userId":"UR0000000003"}; {"partnerId":"PT0000000001","userId":"UR...
  • JSON & GSON - 读取 JSON 文件

    千次阅读 2018-12-13 15:08:29
    我们拿到 JSON 文件,若想通过 java 读取其中的数据,该怎么做呢? 读前必知: IO 基础知识 FileUtils =&...1、针对小JSON文件 { "name": "ALemon", "age": ...

    我们拿到 JSON 文件,若想通过 java 读取其中的数据,该怎么做呢?

    读前必知:

    1. IO 基础知识
    2. FileUtils => IO流 - 使用 FileUtils 简化文件操作

    所需JAR包:

    • Apache Common IO
    • Java-JSON
    • GSON(后面大文件用到)

     

    1、针对小JSON文件

    {
      "name": "ALemon",
      "age": 24.2,
      "car": null,
      "major":["敲代码","学习"],
      "Nativeplace": {
      "city": "广州",
      "country": "China"
      }
    }

    思路过程:

    1. 获取文件
    2. 获取文件内容
    3. 转换为 JSON 对象
    4. 读取 JSON 对象
    import org.apache.commons.io.FileUtils;
    import org.json.JSONException;
    import org.json.JSONObject;
    import java.io.File;
    import java.io.IOException;
    
    public class Demo {
    
        public static void main(String args[]) throws IOException {
    
            File file=new File("mejson");
            String content= FileUtils.readFileToString(file,"UTF-8");
            JSONObject jsonObject=new JSONObject(content);
            System.out.println("姓名是:"+jsonObject.getString("name"));
            System.out.println("年龄:"+jsonObject.getDouble("age"));
            System.out.println("学到的技能:"+jsonObject.getJSONArray("major"));
            System.out.println("国家:"+jsonObject.getJSONObject("Nativeplace").getString("country"));
    
        }
    }

     

    2、针对大JSON文件

    如果您的JSON很小,那么对象模型很好,因为您可以加载所有数据并作为普通Java对象工作。当文件非常大时,您可能不想加载它全部进入内存。

    因此流和对象模型之间混合使用模式个人觉得是最佳选择。

    Json文件由数组Person对象形成。每个人都有的id,name,married状态和名单sons和daughters:

    [
      {
        "id" : 0,
        "married" : true,
        "name" : "George Moore",
        "sons" : null,
        "daughters" : [
          {
            "age" : 25,
            "name" : "Elizabeth"
          },
          {
            "age" : 28,
            "name" : "Nancy"
          },
          {
            "age" : 9,
            "name" : "Sandra"
          }
        ]
      },
      ...
    ]

    Person 类

    public class Person {
        private int id;
        private String name;
        private boolean married;
        ...
    
        // Getter/Setter methods
        ...
    
        @Override
        public String toString() {
            return "Person{" + "id=" + id + ", name=" + name + ... + '}';
        }
    }

    我们在这里要做的是在流和对象模型之间使用混合模式。我们将以流模式读取文件,每次我们找到一个人物对象时,我们将使用对象模型装配,重复该过程,直到找到所需的对象。

    public static void readStream() {
        try {
            JsonReader reader = new JsonReader(new InputStreamReader(stream, "UTF-8"));
            Gson gson = new GsonBuilder().create();
    
            // Read file in stream mode
            reader.beginArray();
            while (reader.hasNext()) {
                // Read data into object model
                Person person = gson.fromJson(reader, Person.class);
                if (person.getId() == 0 ) {
                    System.out.println("Stream mode: " + person);
                    break;
                }
            }
            reader.close();
        } catch (UnsupportedEncodingException ex) {
            ...
        } catch (IOException ex) {
            ...
        }
    }

    Ps:JsonReader 需要引入 Gson包。

    使用这种方法,我们将所有对象一个接一个地加载到内存而不是整个文件。

    其中 stream 为目标文件stream对象。 Gson 的 API 使用可以自行查询。

    此外,如果想一次将json中的内容装配到Person数组中,可以通过以下方法实现。但此方法会消耗较多的内存

    public static void readDom() {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(file));
            Gson gson = new GsonBuilder().create();
            Person[] people = gson.fromJson(reader, Person[].class);
    
            System.out.println("Object mode: " + people[0]);
    
        } catch (FileNotFoundException ex) {
            ...
        } finally {
            ...
        }
    }
    展开全文
  • [img=https://img-bbs.csdn.net/upload/201707/10/1499651590_233630.png][/img]
  • java——读取JSON文件

    万次阅读 2017-05-08 21:38:21
    我们拿到 JSON 文件,若想通过 java 读取其中的数据,该怎么做呢? 就搜索些视频、博客看了一下,这里整理一番。读前需要了解 java-IO 基础知识 java-File了解 推荐一篇博文:使用FileUtils简化你的文件操作 首先我...

    我们拿到 JSON 文件,若想通过 java 读取其中的数据,该怎么做呢?

    就搜索些视频、博客看了一下,这里整理一番。

    读前需要了解

    首先我用到Apache Common IO 2.5包java-JSON包

    注意:
    java-JSON包可以先在 github 下载下来,然后用 eclipse 将里面的java文件打包为 jar文件,在添加在需要的程序中去。如果用 Maven ,就添加依赖就行。

    这里通过一个简单的例子讲解一下吧,若我收到的 JSON 文件内容如下

    {
      "name": "ALemon",
      "age": 24.2,
      "car": null,
      "major":["敲代码","学习"],
      "Nativeplace": {
      "city": "广州",
      "country": "China"
      }
    }

    思路过程:

    1. 获取文件
    2. 获取文件内容
    3. 转换为 JSON 对象
    4. 读取 JSON 对象

    具体java代码实现如下:

    import org.apache.commons.io.FileUtils;
    import org.json.JSONException;
    import org.json.JSONObject;
    import java.io.File;
    import java.io.IOException;
    
    public class Demo {
        public static void main(String args[]) throws IOException {
    
            File file=new File("mejson");
            String content= FileUtils.readFileToString(file,"UTF-8");
            JSONObject jsonObject=new JSONObject(content);
            System.out.println("姓名是:"+jsonObject.getString("name"));
            System.out.println("年龄:"+jsonObject.getDouble("age"));
            System.out.println("学到的技能:"+jsonObject.getJSONArray("major"));
            System.out.println("国家:"+jsonObject.getJSONObject("Nativeplace").getString("country"));
    
        }
    }

    大 json 文件处理

    看了一下评论,发现了问题:

    如果您的JSON很小,那么对象模型很好,因为您可以加载所有数据并作为普通Java对象工作。当文件非常大时,您可能不想加载它全部进入内存。

    因此流和对象模型之间混合使用模式个人觉得是最佳选择。

    Json文件由数组Person对象形成。每个人都有的id,name,married状态和名单sons和daughters:

    [
      {
        "id" : 0,
        "married" : true,
        "name" : "George Moore",
        "sons" : null,
        "daughters" : [
          {
            "age" : 25,
            "name" : "Elizabeth"
          },
          {
            "age" : 28,
            "name" : "Nancy"
          },
          {
            "age" : 9,
            "name" : "Sandra"
          }
        ]
      },
      ...
    ]

    Person 类

    public class Person {
        private int id;
        private String name;
        private boolean married;
        ...
    
        // Getter/Setter methods
        ...
    
        @Override
        public String toString() {
            return "Person{" + "id=" + id + ", name=" + name + ... + '}';
        }
    }

    我们在这里要做的是在流和对象模型之间使用混合模式。我们将以流模式读取文件,每次我们找到一个人物对象时,我们将使用对象模型装配,重复该过程,直到找到所需的对象。

    public static void readStream() {
        try {
            JsonReader reader = new JsonReader(new InputStreamReader(stream, "UTF-8"));
            Gson gson = new GsonBuilder().create();
    
            // Read file in stream mode
            reader.beginArray();
            while (reader.hasNext()) {
                // Read data into object model
                Person person = gson.fromJson(reader, Person.class);
                if (person.getId() == 0 ) {
                    System.out.println("Stream mode: " + person);
                    break;
                }
            }
            reader.close();
        } catch (UnsupportedEncodingException ex) {
            ...
        } catch (IOException ex) {
            ...
        }
    }

    使用这种方法,我们将所有
    对象一个接一个地加载到内存而不是整个文件。

    其中 stream 为目标文件stream对象。
    Gson 的 API 使用可以自行查询

    此外,如果想一次将json中的内容装配到Person数组中,可以通过以下方法实现。但此方法会消耗较多的内存

    public static void readDom() {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(file));
            Gson gson = new GsonBuilder().create();
            Person[] people = gson.fromJson(reader, Person[].class);
    
            System.out.println("Object mode: " + people[0]);
    
        } catch (FileNotFoundException ex) {
            ...
        } finally {
            ...
        }
    }

    文中有什么错误,有好的方法。若有时间,请你告诉我,也虚心学习一番。祝你好运!

    参考资料:
    1. Parsing a large JSON file efficiently and easily
    2. Reading very big JSON files in stream mode with GSON

    展开全文
  • 这种格式的json文件数据怎么处理?想转成excel文件格式。 {"name":"red","score":{"chinese":100,"math":90,"english":98}}
  • 读取json文件,我们可以先登录json官网,然后下载他的google-gson的Java外部库,然后在将他导入的Java项目中去,最后可以调用这个库对json文件进行读取的操作了, 首先要对json文件进行操作,先要理清楚该怎么...

    要读取json文件,我们可以先登录json官网,然后下载他的google-gson的Java外部库,然后在将他导入的Java项目中去,最后可以调用这个库对json文件进行读取的操作了, 
    首先要对json文件进行操作,先要理清楚该怎么操作。下面我来讲讲该怎么对json文件进行读取的操作。

    • 首先创建一个Json的解析器,使用new JsonParser(),返回值是一个JsonParser对象。
    • 然后在对文件进行读取,调用JsonParser的parse方法,其中的参数可以是个json格式的字符串,或者是一个reader 数据,但是如果是个读取文件的话,那么它的参数就应该是new FileReader(“文件的地址+名称”)。parse方法的返回值是JsonObject对象。
    • 第三是调用JsonObject对象的get方法获取根元素的键值对的值。在根据键值对的键值的键名获取值得时候,要根据值得类型调用getAsString或者其他的一下转换数据类型的方法。最后就得到了值。
    • 如果json文件存在数组,那么还需要调用getJsonArray的方法获取到数组的值,再通过循环分别获取数组中的值。
    • 通上面的一样,如果数组中还有数组的话,就继续使用getJsonArray方法进行读取,并用循环显示出来。

    下面就是详细的代码: 
    readJson.json

    {
        "cat":"it",
        "language":[
            {"id":1,"ide":"eclipse","lan":"java"},
            {"id":2,"ide":"X-code","lan":"Swift"},
            {"id":3,"ide":"Visual Studio","lan":"C#"}
        ],
        "pop":true
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    testJson.java

    package com.readXml.gson;
    
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    
    import com.google.gson.JsonArray;
    import com.google.gson.JsonIOException;
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    import com.google.gson.JsonSyntaxException;
    
    public class testGson {
    
        public static void main(String[] args) {
            try {
    
                JsonParser parser=new JsonParser();//创建解析器
                JsonObject object=(JsonObject)parser.parse(new FileReader("readJson.json"));//创建一个JsonObject对象,并调用解析器的parse方法进行读取文件,返回值的类型是JsonElement,但是赋值的对象是一个JsonObject所以要进行类型的强制转换。
                System.out.println("cat="+object.get("cat").getAsString());//先调用JsonObject的get方法,参数为json的键的值,然后再根据数据的类型调用getAsString或者getAsboolean方法
                System.out.println("pop="+object.get("pop").getAsBoolean());
    //          注意Json文件,如果json文件的格式有问题,可能就会导致出现json语法异常;
                JsonArray array=object.get("language").getAsJsonArray();
                for (int i = 0; i <array.size(); i++) {
                    System.out.println("-------------");
                    JsonObject arrayObject=array.get(i).getAsJsonObject();
                    System.out.println("id="+arrayObject.get("id").getAsInt());
                    System.out.println("ide="+arrayObject.get("ide").getAsString());
                    System.out.println("lan="+arrayObject.get("lan").getAsString());    
                }
            } catch (JsonIOException e) {
    
                e.printStackTrace();
            } catch (JsonSyntaxException e) {
    
                e.printStackTrace();
            } catch (FileNotFoundException e) {
    
                e.printStackTrace();
            }
    
        }
    
    }
    展开全文
  • 这种格式的json文件数据怎么处理?想转成excel文件格式。 {"name":"red","score":{"chinese":100,"math":90,"english":98}},{"name":"blue","score":{"chinese":10,"math":9,"english":8}}
  • json格式的文件用什么软件打开json是一种文本格式,json格式的文件可以用记事本打开。右击需要打开的json文件,在展开的...HTML5怎么读取json文件利用getJson()函数获取json文件 getJson(url,[data],[Callback]),...
  • 后来查了下资料才知道,由于D3.js读取json数据是不能本地读取的,所以json文件要想读取,必须得通过http传输来读取,但是手边没有现成的服务器,所以想到了本机localhost方法。  首先,就需要配置本机
  • 我用jquery读取json文件的代码: $(function() { $("#btn").click(function() { $.getJSON("communityRecSys.json",function (data) { var $jsontip = $("#jsonTip"); var strHtml = " ";//存储...
  • 代码应该怎么写,假设已经新建了一个excel文件并命名为qw,json文件名为we 需要安装库吗</p>
  • json文件内容如下: { "createtime" : ISODate("2020-06-24T06:29:33.473Z"), "updatetime" : ISODate("2020-07-09T02:23:04.553Z") } { "createtime" : ISODate("2020-06-24T06:38:15.86Z"), "update...
  • 有一个相对比较大的json文件(这个是外部json文件),用D3做出如图所示的关系图,,,,但是,,我只想以某一个人为中心做他的关系图,,需要怎么操作数据?????????? json数据如下 ``` { "nodes":...
  • 川川遇到大难题了,有人问我怎么json转换为xml文档保存起来,查了半天的资料确实没有可以白嫖的,最终我还是找到了官方文档,于是我就模仿官方文档做了一份出来,真是一个艰辛的过程,害!不过总算是解决了! 需要...
  • 怎么写入Json文件? Json文件的解析式非常快的 一般联网游戏的数据都是通过Json文件类型传递的 1.首先定义class class必须有一个List&amp;lt;&amp;gt; list list存储类型为string类型 2.然后进行txt数据的...
  • 这个时候,怎么读取接送数据?我查了一些资料,最后我这样解决了。 json数据 { &quot;resultCode&quot;:200, &quot;code&quot;:200, &quot;data&quot;:{ &quot;versionName&...
  • 下面附上代码图和json文件截图[img=https://img-bbs.csdn.net/upload/201605/16/1463391225_930011.png][/img][img=https://img-bbs.csdn.net/upload/201605/16/1463391076_807945.png][/img]
  • C# Json文件读取

    万次阅读 2018-10-31 17:36:56
    关于用litjson来解析json格式的文件,我看过两个教程,第一个并没有讲json的语法原理,只讲了怎么使用。第二个很清晰明了说了数组和对象这个概念 但凡是有数组的地方,都可以用list来进行替换 JSON跟XML一样是一种...
  • import codecs content='' with codecs.open('./xxx.json', 'r') as content_file: ...records = json.loads(json.dumps(content)) jupyter 提示The kernel appears to have died. It will restart automatically.
  • 初学 Echarts,在读取本地json文件的时候卡了挺久,记录一下怎么解决Echarts的读取问题。 首先官方有教程,下载jquery使用get方法即可读取,但是就我个人经历来说,教程中的代码没办法直接使用,一共有两个坑需要注意...
  • 之前用python自带的json包读取json文件时,当文件是几个G的时候,就会出现memoryerror,这是因为自带的json包是先把所有的数据读到内存中然后再进行分析。当内存没有json文件所要求的大小时候就会报错。 解决办法...
  • 读取json数据时遇到"type": "LineString", "coordinates": [ [ 100, 23], [ 102., 24], [ 103, 27], ...]这种两个中括号的怎么处理? 我用json::value geometry作为json对象 "coordinates"后,无法用.size()得到...
  • 我把一个json文件的内容写进内存,然后用读取。 但是怎么读取3000多个呀?我本来想的是每次存一个json对象进内存然后读取,直到读取完全部。 但是教我的人说叫我不要读写文件这种方式来读取,直接用jason库函数读取...
  • 需要注意的是本地的xml文件最好放在静态资源文件夹中,这样webpack打包时不会将其打包到项目里。传入的url地址应该是"localhost:8080/static/文件名",前面主机名可以省略。(注意vue的根目录是src) ...
  • 文件位置: package com.jt.ceshi; import java.io.*; import java.net.URL; public class ReadJSON { public static void main(String[] args) { String laststr=""; URL l1 = ...
  • 通过Ajax读取本地json文件,谷歌报错提示跨域 本地写有一个 .json 代码文件,然后网页文件使用ajax读取,并用谷歌浏览器打开,发现谷歌报错:提示跨域。 谷歌浏览器控制台报错 但是跨域一般是由于协议、域名、端口...
  • json文件解析出来是一个字典,解析出来后字典里面元素的顺序变了,怎么才能保持里面的元素顺序不变啊

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 229
精华内容 91
关键字:

怎么读取json文件