我试图读取一个json文件并将其转换为jsonObject,当我搜索如何做时,我遇到了该方法给用户
JSONParser parser= new JSONParse();
但是我在代码中使用的org.json版本是“ 20180803 ”。它不包含JSONParser。它已从 org.json 包中删除吗?如果是这样,我可以使用什么新类或方法来读取json文件并将其转换为json对象。
我的依赖关系如下:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
答案 0 :(得分:1)
嗨,您可以使用简单的JSON。您只需要添加pom.xml文件:
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
示例代码
public static JSONObject convertJsonStingToJson(String jsonString) {
JSONParser parser = new JSONParser();
return json = (JSONObject) parser.parse(jsonString);
}
答案 1 :(得分:1)
org.json
库具有非常简单的API
,该库不具有JSONParser
但具有JSONTokener
。我们可以直接从JSONObject
构造JSONArray
或String
:
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonApp {
public static void main(String[] args) {
// JSON Object
String object = "{\"p1\":\"v1\", \"p2\":2}";
JSONObject jsonObject = new JSONObject(object);
System.out.println(jsonObject);
// JSON Array
String array = "[{\"p1\":\"v1\", \"p2\":2}]";
JSONArray jsonArray = new JSONArray(array);
System.out.println(jsonArray);
}
}
上面的代码显示:
{"p1":"v1", "p2":2}
[{"p1":"v1","p2":2}]
您需要注意,取决于使用哪个类取决于JSON
负载:如果JSON
从{
开始,则使用JSONObject
,如果来自[
,则使用-使用JSONArray
。在其他情况下,JSON
有效负载无效。
答案 2 :(得分:0)
您的问题的简短答案是:不,它没有被删除,因为它根本不存在。
我认为您提到的是一个图书馆,并试图使用另一个图书馆。无论如何,如果您真的想使用 org.json ,则可以找到如何here
@SerializedName("teams")
List<Team> teamList;
答案 3 :(得分:0)
在构建文件中添加以下依赖项
//json processing
implementation("com.fasterxml.jackson.core:jackson-core:2.9.8")
implementation("com.fasterxml.jackson.core:jackson-annotations:2.9.8")
implementation("com.fasterxml.jackson.core:jackson-databind:2.9.8")
a.json文件
{
"a": "b"
}
代码:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.FileInputStream;
import java.io.InputStream;
public class App {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
InputStream input = new FileInputStream("a.json");
JsonNode obj = objectMapper.readTree(input);
System.out.println(obj.get("a")); // "b"
}
}