Java 如何从json rest服务器应答中检索字段?

Java 如何从json rest服务器应答中检索字段?,java,json,regex,api,rest,Java,Json,Regex,Api,Rest,有没有一种简单的方法可以从json rest web服务应答中恢复字段。 例如,这是一篇json文章的答案: { "name": "sam", "city": "SF", "number": "0017100000000" (optional), "message": "xyz has occurred" } 我想检索这个示例的名称和城市,等等。 我应该用正则表达式吗 我对所有这些都有点陌生,所以如果我的问题很愚蠢,请毫不犹

有没有一种简单的方法可以从json rest web服务应答中恢复字段。 例如,这是一篇json文章的答案:

   {
       "name": "sam",
       "city": "SF",
       "number": "0017100000000" (optional),
       "message": "xyz has occurred"
   } 
我想检索这个示例的名称和城市,等等。 我应该用正则表达式吗


我对所有这些都有点陌生,所以如果我的问题很愚蠢,请毫不犹豫地告诉我:)

请查找下面的代码,以便从JSONobject获取值。为此,您需要“java json.jar”

我也分享了从json数组获取数据的示例代码。请随意提问

public static void main(String[] args){
    try {
        //Simple Json Object
        JSONObject  testObj= new JSONObject("{name: sam,city: SF,number:0017100000000,message: xyz has occurred}");

        System.out.println("Name in json\t" +testObj.get("name"));
        System.out.println("City in json\t" +testObj.get("city"));

        //If you want to get from array
        JSONObject arrObj = new JSONObject("{interests : [{interestKey:Dogs}, {interestKey:Cats}]}");

        List<String> list = new ArrayList<String>();
        JSONArray array = arrObj.getJSONArray("interests");
        for(int i = 0 ; i < array.length() ; i++){
            list.add(array.getJSONObject(i).getString("interestKey"));
        }


    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}
publicstaticvoidmain(字符串[]args){
试一试{
//简单Json对象
JSONObject testObj=新的JSONObject({名称:sam,城市:SF,编号:0017100000000,消息:xyz已发生}”);
System.out.println(“json中的名称\t”+testObj.get(“名称”));
System.out.println(“json中的城市\t”+testObj.get(“城市”);
//如果要从数组中获取
JSONObject arrObj=新的JSONObject({interests:[{interestKey:Dogs},{interestKey:Cats}]);
列表=新的ArrayList();
JSONArray数组=arrObj.getJSONArray(“兴趣”);
对于(int i=0;i
使用json解析器,比如不要将正则表达式用于容易解析的内容。好的,谢谢!这是一个gson解析器!