我怎么能把json解析成java

时间:2012-09-27 07:14:30

标签: java json gson

我正在使用Bing Search API来获取网络搜索结果。我得到了前2个文档,JSON如下所示。

{"d":
{"results":
[{"__metadata":
    {"uri":"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=\u0027bill\u0027gates\u0027&$skip=0&$top=1","type":"WebResult"},
    "ID":"9bd0942f-fe5b-44fc-8343-ef85e5b93a7e",
    "Title":"The Official Site of Bill Gates - The Gates Notes",
    "Description":"In the space between business and goverment, even a small investment can make a big impact on the lives of those in need.",
    "DisplayUrl":"www.thegatesnotes.com",
    "Url":"http://www.thegatesnotes.com/"},

{"__metadata":
    {"uri":"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=\u0027bill\u0027gates\u0027&$skip=1&$top=1","type":"WebResult"},
    "ID":"fdf0d3b9-b29f-43ef-b5ba-6bb4b1b04458",
    "Title":"Bill Gates - Wikipedia, the free encyclopedia",
    "Description":"William Henry \"Bill\" Gates III (born October 28, 1955) is an American business magnate and philanthropist. Gates is the former chief executive and current chairman of ...",
    "DisplayUrl":"en.wikipedia.org/wiki/Bill_Gates",
    "Url":"http://en.wikipedia.org/wiki/Bill_Gates"},

],
"__next":"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=\u0027bill\u0027gates\u0027&$skip=10&$top=10"
}
}

我如何使用Gson将其解析为Java?

3 个答案:

答案 0 :(得分:2)

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

public class GsonDemo {
    public static void main(String[] args) { 
    Gson gson = new Gson(); 
    try { 
        String json = "" ; // your json string
        //convert the json string to object
        YourObject obj = gson.fromJson(json, YourObject.class);  
    } catch (IOException e) {
        e.printStackTrace();
    } 
    }
}

答案 1 :(得分:1)

public class Metadata{
    public String uri;
    public String Query;
    public String ID;
    public String Title;
    public String Description;
    public String DisplayUrl;
    public String Url;
}

public class ResponseResults{
    public MetadataContainer[] results;
    public String __next; 
}


public class MetadataContainer{
    public Metadata __metadata;
}


public class ResponseData{
    public ResponseResults d;
}

String json; //Your json response
ResponseData myD = new Gson().fromJson(json, ResponseData.class);

答案 2 :(得分:0)

查看这些链接可能对您有所帮助..