我如何从 Json 中提取值

新手上路,请多包涵

我从服务器得到一个响应字符串,如下所示

{
  "name": "Json",
  "detail": {
    "first_name": "Json",
    "last_name": "Scott",
    "age": "23"
  },
  "status": "success"
}

我想获得名字的价值。我怎样才能做到这一点?提前致谢。

原文由 Balban 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 518
2 个回答

看到这段代码我在我的应用程序中使用了什么

String data="{'foo':'bar','coolness':2.0, 'altitude':39000, 'pilot':{'firstName':'Buzz','lastName':'Aldrin'}, 'mission':'apollo 11'}";

我这样检索

JSONObject json = (JSONObject) JSONSerializer.toJSON(data);
    double coolness = json.getDouble( "coolness" );
    int altitude = json.getInt( "altitude" );
    JSONObject pilot = json.getJSONObject("pilot");
    String firstName = pilot.getString("firstName");
    String lastName = pilot.getString("lastName");

    System.out.println( "Coolness: " + coolness );
    System.out.println( "Altitude: " + altitude );
    System.out.println( "Pilot: " + lastName );

原文由 Balaji.K 发布,翻译遵循 CC BY-SA 3.0 许可协议

在这里粘贴我的代码,这应该有所帮助。它显示了可以使用的包。

 import org.json.JSONException;
import org.json.JSONObject;

public class extractingJSON {

    public static void main(String[] args) throws JSONException {
        // TODO Auto-generated method stub

        String jsonStr = "{\"name\":\"SK\",\"arr\":{\"a\":\"1\",\"b\":\"2\"}}";
        JSONObject jsonObj = new JSONObject(jsonStr);
        String name = jsonObj.getString("name");
        System.out.println(name);

        String first = jsonObj.getJSONObject("arr").getString("a");
        System.out.println(first);

    }

}

原文由 user3251882 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题