好的,我已经获得了一个构建TST(已完成)的项目,我应该在Dictionary文件上使用JSON解析器将值加载到我的Data结构中,并给出了一个基本的代码类。这是我第一次接触到这个工具,我完全不知道它是如何工作的。通常,当我想解析输入时,我只是按照
的方式做一些事情String[] parse = txt.split("|");
然而这显然不会起作用,所以在代码的最后我看到它区别的地方(或者我认为它无论如何)The Key&值,我需要逐行阅读这些内容以提供另一种方法,我通常会使用for循环,但不知道此方法甚至使用的语法
for(int i = 0; i < JSON.Size; i++) {
first = get.JSON_Key(i);
last = get.JSON_Value(i);
tst.put(key, value);
}
显然,这将更适合伪代码,我不知道这是否在单独的容器中存储单独的值,如果是这样,使用什么来获取这些值,以下是我们给出的示例代码< / p>
public class ReadJSON
{
public static void main( String[] args )
{
String infile = "dictionary.json";
JsonReader jsonReader;
JsonObject jobj = null;
try
{
jsonReader = Json.createReader( new FileReader(infile) );
// assumes the top level JSON entity is an "Object", i.e. a dictionary
jobj = jsonReader.readObject();
}
catch(FileNotFoundException e)
{
System.out.println("Could not find the file to read: ");
e.printStackTrace();
}
catch(JsonParsingException e)
{
System.out.println("There is a problem with the JSON syntax; could not parse: ");
e.printStackTrace();
}
catch(JsonException e)
{
System.out.println("Could not create a JSON object: ");
e.printStackTrace();
}
catch(IllegalStateException e)
{
System.out.println("JSON input was already read or the object was closed: ");
e.printStackTrace();
}
if( jobj == null )
return;
Iterator< Map.Entry<String,JsonValue> > it = jobj.entrySet().iterator();//Not sure what this is doing
Map.Entry<String,JsonValue> me = it.next();//not sure what this is doing
String word = me.getKey();
String definition = me.getValue().toString();
for(int i =0; i < jsonReader.; i++) {
}
}
}
任何帮助理解这个for循环的更多和正确的语法将不胜感激