Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个班的机制是什么?(JSON解析)_Java_Json_Hashmap_Gson - Fatal编程技术网

Java 这个班的机制是什么?(JSON解析)

Java 这个班的机制是什么?(JSON解析),java,json,hashmap,gson,Java,Json,Hashmap,Gson,我试图理解这个简短的文件,但我无法理解它。你能澄清一下它的用途吗?我认为是组织一个JSON文件 package net.stackoverflow; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class Program { public String contents; public String name; public boolean visible; p

我试图理解这个简短的文件,但我无法理解它。你能澄清一下它的用途吗?我认为是组织一个JSON文件

package net.stackoverflow;

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class Program {
  public String contents;

  public String name;

  public boolean visible;

  public String fileHeader;

  public Program() {
    this.fileHeader = "";
    this.name = "";
    this.visible = false;
    this.contents = "";
  }

  public Program(String metaJson) {
    JsonParser parse = new JsonParser();
    JsonObject entry = parse.parse(metaJson).getAsJsonObject();
    this.fileHeader = entry.get("Filename").getAsString();
    this.name = entry.get("displayName").getAsString();
    this.visible = !entry.get("hidden").getAsBoolean();
    this.contents = entry.get("data").getAsString();
  }
}
注意,这个类使用的是GSON库。 此外,它以以下方式用于另一类中的哈希映射:

public HashMap<String, theclassIdontget> directory;
公共HashMap目录;
我不知道这些信息是否有帮助,但不能太多。。。
谢谢你的帮助

正如您在标题中提到的,这个类正在解析一个json字符串

类的以下部分是声明成员变量的位置:

public String contents;
public String name;
public boolean visible;
public String fileHeader;
这是使用默认值初始化成员变量的类构造函数:

 public Program() {
  this.fileHeader = "";
  this.name = "";
  this.visible = false;
  this.contents = "";
}
下面是第二个构造函数,它接受字符串(即json内容),使用JsonParser对象解析json(检索请求的属性并将这些值存储在成员变量中)

因此,当您使用
程序(字符串json)
构造函数创建
程序
对象时,例如:

Program myProgram = Program( jsonString )
您可以通过执行以下操作来访问json属性值:

myProgram.name 
myProgram.contents

它是
parse.parse(metaJson)
给定的JSON来提取这4个字段。哦,就是这样?它是如何保存它的呢?最后一个问题,public Program()方法做什么?
myProgram.name 
myProgram.contents