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
是一个能够做到这一点的库。