拆分字符串数组

时间:2017-12-29 12:44:50

标签: arrays json string web-services http

我知道这个问题已经完全回答,但我没有找到解决方案。 我从Web服务得到一个Json字符串响应,即[" 11,22222"," 33,44444"]。

我试试这个但是没有用,因为字符串包含这些字符[]而第一个逗号就在这里11,22

StringBuilder result = new StringBuilder();

URL url2 = new URL(url);
HttpURLConnection conn = (HttpURLConnection) url2.openConnection();
conn.setRequestMethod("GET");
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
    result.append(line);
}
rd.close();
String res = new String(result);      
String [] coordinates = res.split(",");

我如何将这个字符串分开,如" 11,22222"和" 33,44444"

3 个答案:

答案 0 :(得分:0)

只需使用JavaScriptSerializer。

    public void Method(string json)
{
    JavaScriptSerializer js = new JavaScriptSerializer();

    List<string> results = js.Deserialize<List<string>>(json); 
}

答案 1 :(得分:0)

JsonArray jArray=new JsonArray(result);
StringBuffer s=new StringBuffer();
for(int i=0;i<jArray.length();i++)
{
s.append(jArray.getString(i));
Log.e(“singleValue”,jArray.getString(i));
}
Log.e(“responsed”,s.toString()); 

答案 2 :(得分:0)

由于你得到了一个json,你可以很容易地将它转换为JsonArray并迭代它。

Gson gson = new Gson();
JsonArray array = gson.fromJson(rd, JsonElement.class).getAsJsonArray();
for (JsonElement jsonElement : array) {
System.out.println(jsonElement.getAsString());
}

希望这有帮助。