Java 将字符串拆分为对象字段
我正在寻找解决这个问题的最好办法。 字符串示例:Java 将字符串拆分为对象字段,java,Java,我正在寻找解决这个问题的最好办法。 字符串示例: {"id":16,"title":"title1","description":"Quote \"foo\" asdf","execution_time":"2017-04-26 06:15:00"} 我需要使用字符串中的gets字段值创建新对象。正确的方法是什么?创建构造函数并将此字符串作为参数传递,并在其中使用stringtokenizer?或者使用模式会更好?(我将更正代码) 我建议使用org.json.simple.*。在我看来,这很容
{"id":16,"title":"title1","description":"Quote \"foo\" asdf","execution_time":"2017-04-26 06:15:00"}
我需要使用字符串中的gets字段值创建新对象。正确的方法是什么?创建构造函数并将此字符串作为参数传递,并在其中使用stringtokenizer?或者使用模式会更好?(我将更正代码)
我建议使用org.json.simple.*。在我看来,这很容易,例如:
import org.apache.commons.io.IOUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
import org.json.simple.parser.ParseException;
public class ParseJson1 {
public static void main(String[] args) {
String url = "....";
/*
* {"id":16,"title":"title1","description":"Quote \"foo\" asdf","execution_time":"2017-04-26 06:15:00"}
*/
try {
String genreJson = IOUtils.toString(new URL(url));
JSONObject genreJsonObject = (JSONObject) JSONValue.parseWithException(genreJson);
// get the title
System.out.println(genreJsonObject.get("title"));
// get the data
JSONArray genreArray = (JSONArray) genreJsonObject.get("dataset");
// get the first genre
JSONObject firstGenre = (JSONObject) genreArray.get(0);
System.out.println(firstGenre.get("genre_title"));
} catch (IOException | ParseException e) {
e.printStackTrace();
}
}
}
这是JSON。您可以使用JSON解析器来解析JSON。了解什么是JSON,google用于“解析Java中的JSON”。@JBNizet我知道这是JSON,但我需要将值传递给自定义类。或者将此字符串转换为json对象并将json作为参数传递会更容易些?我需要使用字符串中的gets字段值创建新对象:这就是json解析器的全部内容。您希望从这个JSON字符串中提取信息,因此使用JSON解析器对其进行解析,该解析器将返回一个自定义对象(如果解析器绑定到类)、一个映射或一个JSONObject.True。例如,
Gson
是一个能够做到这一点的库。