如何在java中从json对象中提取键值

如何在java中从json对象中提取键值,java,json,Java,Json,当我的json看起来像这样时,我发现从json对象执行键值有一些困难: { "access_token":"ya29.UwD44cI4z8KTjCEAAAA1RHrx3vi2zkNnzKvR-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc", "token_type":"Bearer", "expires_in":3600, "refresh_token":"1/qDxXmtxMOTTjhhaSsjfEdMe61Rw9

当我的json看起来像这样时,我发现从json对象执行键值有一些困难:

{
    "access_token":"ya29.UwD44cI4z8KTjCEAAAA1RHrx3vi2zkNnzKvR-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc",
    "token_type":"Bearer",
    "expires_in":3600,
    "refresh_token":"1/qDxXmtxMOTTjhhaSsjfEdMe61Rw9l8I5oS-ct5xNc1o"
}

我该怎么做呢?

已经有很多例子了,但你还是去吧

将此依赖项添加到项目中:

<dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.3</version>
      <scope>compile</scope>
</dependency>
从类路径加载资源并按如下方式解析此JSON:

package com.discursive.answers;
import java.io.InputStream;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import org.apache.commons.io.IOUtils;
public class JsonParsing {
    public static void main(String[] args) throws Exception {
        InputStream is = 
                JsonParsing.class.getResourceAsStream( "sample-json.txt");
        String jsonTxt = IOUtils.toString( is );
        JSONObject json = (JSONObject) JSONSerializer.toJSON( jsonTxt );        
        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 );
    }
}
package stackoverflow.q_25052046;
//所需进口
公共类HandleJSON{
私有静态字符串jsonString=“[{\”访问令牌\\”:\“ya29.uwd44ci4z8ktjceaaa1rhrx3vi2zknnzkvr-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc\”,“令牌类型\”“承载者\\”,“到期时间\”:3600,““刷新令牌\\”:“1/qdxxmtottjhhassjfedme61rw9l5os-ct5x1onc\”;
公共静态void main(字符串[]args)抛出JSONException{
JSONArray JSONArray=新的JSONArray(jsonString);
System.out.println(“Converted object=“+jsonArray);//输出结果
系统输出打印项次(…………);
对于(int i=0;i
package com.discursive.answers;
import java.io.InputStream;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import org.apache.commons.io.IOUtils;
public class JsonParsing {
    public static void main(String[] args) throws Exception {
        InputStream is = 
                JsonParsing.class.getResourceAsStream( "sample-json.txt");
        String jsonTxt = IOUtils.toString( is );
        JSONObject json = (JSONObject) JSONSerializer.toJSON( jsonTxt );        
        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 );
    }
}
package stackoverflow.q_25052046;
//Required imports

public class HandleJSON {
    private static String jsonString = "[{ \"access_token\" : \"ya29.UwD44cI4z8KTjCEAAAA1RHrx3vi2zkNnzKvR-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc\", \"token_type\" : \"Bearer\", \"expires_in\" : 3600, \"refresh_token\" : \"1/qDxXmtxMOTTjhhaSsjfEdMe61Rw9l8I5oS-ct5xNc1o\"}]";

    public static void main(String[] args) throws JSONException {
        JSONArray jsonArray = new JSONArray(jsonString);
        System.out.println("Converted object = " + jsonArray); //Outputting the result
        System.out.println("..........................................");

        for (int i = 0; i < jsonArray.length(); i++) { //Iterating over array
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            System.out.println("access_token = " + jsonObject.getString("access_token"));
            System.out.println("token_type = " + jsonObject.getString("token_type"));
            System.out.println("expires_in = " + jsonObject.getString("expires_in"));
            System.out.println("refresh_token = " + jsonObject.getString("refresh_token"));
        }
    }
}

//Output:
//Converted object = [{"expires_in":3600,"token_type":"Bearer","refresh_token":"1/qDxXmtxMOTTjhhaSsjfEdMe61Rw9l8I5oS-ct5xNc1o","access_token":"ya29.UwD44cI4z8KTjCEAAAA1RHrx3vi2zkNnzKvR-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc"}]
//..........................................
//access_token = ya29.UwD44cI4z8KTjCEAAAA1RHrx3vi2zkNnzKvR-lb6o8TtMFZnfuCK71yq59eq4YhdaFsGZcUe2hhUiW7MgHc
//token_type = Bearer
//expires_in = 3600
//refresh_token = 1/qDxXmtxMOTTjhhaSsjfEdMe61Rw9l8I5oS-ct5xNc1o