为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

富国沪深 2023-07-28 16:48:10
   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=AIzaSyDJRy73ru1BSLFCb9nknUF8SlZd4LxwJAcResponse 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"    ]  ]}我需要将响应数据填充到以下变量中。
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您可以尝试(使用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 Lead

Bhupendra

bhupendra+283273@abc.com

2389432432

90909892098988771

Street123, Berlin

1289243424321

no comments

10115

12 / 12 / 2017


您可以相应地分配它。希望能帮助到你。


查看完整回答
反对 回复 2023-07-28
?
MYYA

TA贡献1868条经验 获得超4个赞

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



查看完整回答
反对 回复 2023-07-28
?
潇湘沐

TA贡献1816条经验 获得超6个赞

您可以使用任何 JSON 到 Java 解组库将 JSON 转换为 Java 对象。检查选项和示例


查看完整回答
反对 回复 2023-07-28
  • 3 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信