【发布时间】:2023-03-10 03:15:01
【问题描述】:
我正在向php 文件发送一个GETHTTP 请求,该文件返回一个JSON 编码数组。返回的 Array 是 2x2 Array。如何解析HTTP 请求的输出并在Java 中生成2x2 Array,例如String[][] 或 ArrayList。
request.php:
<?php
$return_array = [["c1_r1", "c1_r2", "c1_r3"], ["c2_r1", "c2_r2", "c2_r3"], ["c3_r1", "c3_r2", "c3_r3"]];
echo json_encode($return_array);
?>
MainActivity.java:
package com.example.test;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.*;
import android.util.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StrictMode.ThreadPolicy mypolicy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(mypolicy);
try {
URL url = new URL("http://192.168.1.XXX/request.php");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuilder sb = new StringBuilder();
sb.append(reader.readLine());
// HOW TO CONVERT/PARSE THE `sb` String INTO `String[][]`, JUST LIKE THE 2x2 Array STORED IN THE `request.php`
Log.e("console", sb.toString());
reader.close();
con.disconnect();
} catch (Exception e) {
Log.e("console", "FAIL " + e);
}
}
}
【问题讨论】: