我正在为这个问题寻找最好的方法。 字符串示例:
{"id":16,"title":"title1","description":"Quote \"foo\" asdf","execution_time":"2017-04-26 06:15:00"}
我需要使用字符串中的gets字段值创建新对象。什么是正确的方法呢?创建构造函数并将此字符串作为参数传递并在其中使用stringtokenizer?或者也许使用Pattern会更好?
答案 0 :(得分:0)
(我要更正代码) 我建议使用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();
}
}
}