简体   繁体   English

用Java解析JSON字符串

[英]Parse JSON string in Java

I'm trying to parse a JSON string in Java but I cant figure out how! 我正在尝试解析Java中的JSON字符串,但是我不知道怎么做! I'm using lib-JSON right now: 我现在正在使用lib-JSON:

import net.sf.json.*;

.

String jsonStr = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";
JSONObject jsonObj = (JSONObject) JSONSerializer.toJSON(jsonStr); // this line crashes

I get no compilation errors but when i run the program it says: 我没有编译错误,但是当我运行程序时它说:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at ircbot.plugins.SiteTitle.<init>(SiteTitle.java:28)
    at ircbot.Main.main(Main.java:10)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 14 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

It sounds like I'm missing some dependencies, but I don't know how to find out if or which! 听起来好像我缺少一些依赖项,但是我不知道如何找出是否或哪个!

Thanks in advance! 提前致谢!

It seems you have not imported need jar file for class "org.apache.commons.lang.exception.NestableRuntimeException" 看来您尚未为类“ org.apache.commons.lang.exception.NestableRuntimeException”导入需要的jar文件。

There are many classes that we use in our Java program and which don't come with Java. 我们在Java程序中使用了很多类,而Java没有附带这些类。 So we need to put Suitable Jar file for them. 因此,我们需要为他们放置适当的Jar文件。

I recomend grepcode Just enter the class name and you get a list of the known versions of jars 我推荐grepcode只需输入类名,您就会得到jar已知版本的列表

Example: here 示例: 这里

You are missing jar file. No jar file in your class path. 

看到此读取JSON文件错误

org / apache / commons / lang-> http://commons.apache.org/lang/基本上,使用Google并获取相应的jar。

您的JSON字符串也无效,这是有效的JSON,

{"string": "JSON","integer": "1","double": "2.0","boolean": "true" }

These are the dependencies - 这些是依赖项-

  1. jakarta commons-lang 2.5 雅加达公共语言2.5
  2. jakarta commons-beanutils 1.8.0 雅加达Commons-Beanutils 1.8.0
  3. jakarta commons-collections 3.2.1 雅加达公共图书馆3.2.1
  4. jakarta commons-logging 1.1.1 雅加达Commons-Logging 1.1.1
  5. ezmorph 1.0.6 ezmorph 1.0.6

are you sure you added all of them in your classpath. 您确定已将所有它们添加到类路径中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM