JSON到Java对象

时间:2014-03-05 20:03:06

标签: java json

{
    "city" : "THAYNE",
    "loc" : [
            -111.011354,
            42.933026
    ],
    "pop" : 505,
    "state" : "WY",
    "_id" : "83127"
}

我有这个json语法,我想将它解析为Java对象。 首先,我创建了一个String数组,以保存.json文件的每一行。 但毕竟我不知道,我该怎么做。

3 个答案:

答案 0 :(得分:3)

###Gson is easy to learn and implement, what we need to know are following two methods

toJson() – Convert Java object to JSON format
fromJson() – Convert JSON into Java object ###

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import com.google.gson.Gson;

public class GsonExample {
    public static void main(String[] args) {

    Gson gson = new Gson();

    try {

        BufferedReader br = new BufferedReader(
            new FileReader("c:\\file.json"));

        //convert the json string back to object
        DataObject obj = gson.fromJson(br, DataObject.class);

        System.out.println(obj);

    } catch (IOException e) {
        e.printStackTrace();
    }

    }
}

答案 1 :(得分:0)

我会因为建议使用图书馆而得到推荐,但是使用Gson:https://code.google.com/p/google-gson/

创建一个JsonParser对象并从那里开始。到目前为止最容易。 此外,您不需要在stringarray中输入,使用整个JSON创建一个String。 试试这个:

JsonParser parser = new JsonParser();
try
{
    JsonElement json = parser.parse("your json string");
    JsonObject obj = json.getAsJsonObject();
    // Now you have the JSon object, get any element from it now. 
    JsonElement city = obj.get("city");
    return city.getAsString();
} 
catch ( JsonSyntaxException e ) {
}
catch ( JsonParseException e ) {
}

答案 2 :(得分:0)

您可以使用GSON - 可用于将Java对象转换为JSON表示的Java库,反之亦然