如何将 googlesheet api 响应存储到 java 中的数组?

   public static String getsheetdata() throws IOException {


    String name = null;

    String email = null;

    String phone = null;

    String fin = null;

    String address = null;

    String car_registraion = null;

    String question = null;

    String pin = null;

    String car_registraion_date = null;


     String url = "https://sheets.googleapis.com/v4/spreadsheets/1BH-e3-XSZ9LjsQqELjZLpZbnB4DmIhrPy2VDAZsP9KM/values/lead!A2:J2?key=AIzaSyDJRy73ru1BSLFCb9nknUF8SlZd4LxwJAc";


     URL obj = new URL(url);

     HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

     // optional default is GET

     con.setRequestMethod("GET");

     //add request header

     con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5");


     int responseCode = con.getResponseCode();

     System.out.println("\nSending 'GET' request to URL : " + url);

     System.out.println("Response Code : " + responseCode);

     BufferedReader in = new BufferedReader(

             new InputStreamReader(con.getInputStream()));

     String inputLine;

     StringBuffer response = new StringBuffer();

     while ((inputLine = in.readLine()) != null) {

        response.append(inputLine);

     }

     in.close();


     System.out.println(response.toString());

     //Read JSON response and print

     JSONObject myResponse = new JSONObject(response.toString());



    return inputLine;


}

我收到以下回复


Sending 'GET' request to URL : https://sheets.googleapis.com/v4/spreadsheets/1BH-e3-XSZ9LjsQqELjZLpZbnB4DmIhrPy2VDAZsP9KM/values/lead!A2:J2?key=AIzaSyDJRy73ru1BSLFCb9nknUF8SlZd4LxwJAc

Response Code : 200

{  "range": "lead!A2:J2",  "majorDimension": "ROWS",  "values": [    [      "Lead Data Set 1 -  Normal FOC Lead",      "Bhupendra",      "bhupendra+283273@abc.com",      "2389432432",      "90909892098988771",      "Street123, Berlin",      "1289243424321",      "no comments",      "10115",      "12 / 12 / 2017"    ]  ]}

我需要将响应数据填充到以下变量中。



富国沪深
浏览 152回答 3
3回答

慕妹3146593

您可以尝试(使用org.json):     JSONObject myResponse = new JSONObject(response.toString());     JSONArray jsonArr = (JSONArray) myResponse.get("values");     JSONArray requiredValues = jsonArr.getJSONArray(0);     String[] values = new String[requiredValues.length()];     for (int i = 0; i < requiredValues.length(); i++) {        values[i] = requiredValues.getString(i);     }现在"values"响应的部分将存储在String[] values    for (int j = 0; j < values.length; j++) {         System.out.println(values[j]);    }这将打印 Lead Data Set 1 -  Normal FOC LeadBhupendrabhupendra+283273@abc.com238943243290909892098988771Street123, Berlin1289243424321no comments1011512 / 12 / 2017您可以相应地分配它。希望能帮助到你。

MYYA

创建JSONObject您获取的响应字符串,然后从as中提取values字段,然后遍历该 JSONArray 以获取对象列表。JSONObjectJSONArray

潇湘沐

您可以使用任何 JSON 到 Java 解组库将 JSON 转换为 Java 对象。检查选项和示例
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java