Java-如何使用Gson解析json文件

时间:2018-08-19 18:34:56

标签: java json gson

我有一个像这样的简单json文件

gremlin_python.driver.protocol.GremlinServerError: 599: Could not locate method: DefaultGraphTraversal.has([within([a]), test])

这是我在Java中编写的类:

{ 
  "user":"giovanni"
}

但是运行它我发现此错误

package maven.project;

import java.io.*;
import com.google.gson.*;

public class Prova {
    public static void main(String[] args)throws JsonSyntaxException, 
     JsonIOException, FileNotFoundException{

        String path = "/Users/matte/Desktop/project/src/main/java/maven/project/1.json";
        BufferedReader bufferedReader = new BufferedReader(new FileReader(path));
        Gson gson = new Gson();
        JsonObject js = gson.fromJson(bufferedReader, JsonObject.class);
        String user =  js.get("user").getAsString();
        System.out.println("user: " + user);
    }
}

..

我该如何解决?

3 个答案:

答案 0 :(得分:1)

您是否将json文件复制并粘贴到IDE中?它是否可能带有隐藏的字符或其他损坏?如果是这样,也许创建一个新的json文件并尝试。

答案 1 :(得分:0)

对我来说合适。请提供堆栈跟踪。

catch JsonSynstaxException and e.printStackTrace();

还有JsonIOException

答案 2 :(得分:0)

提供的测试通过了,所以我建议您捕获异常可能对调试没有什么帮助:

@RunWith(BlockJUnit4ClassRunner.class)
public class HttpServerTest {

    @Test
    public void test() throws FileNotFoundException {

        String path = "test.json";
        BufferedReader bufferedReader = new BufferedReader(new FileReader(path));

        Gson gson = new Gson();
        JsonObject js = gson.fromJson(bufferedReader, JsonObject.class);
        String user = js.get("user").getAsString();
        assertEquals("giovanni", user);
    }

}