【问题标题】:Split the string array拆分字符串数组
【发布时间】:2018-06-09 21:47:26
【问题描述】:

我知道这个问题得到了绝对回答,但我没有找到解决方案。 我从 Web 服务获得响应为 ["11,22222","33,44444"] 的 Json 字符串响应。

我尝试了这个但没有用,因为字符串包含这些字符 [ ] 并且第一个逗号在这里 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”

【问题讨论】:

  • 您可以将其转换为 JsonObject,然后它将像数组一样工作。其他解决方法是 res.split("\""); 现在您将获得 1 和 3 索引中的值。
  • 什么语言? C#?爪哇?
  • Java 我可以使用 @maddy23285 解决方案作为 res.split("\"");

标签: arrays json string web-services http


【解决方案1】:

只需使用 JavaScriptSerializer。

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

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

【讨论】:

  • 我正在使用 Java 开发 Eclipse 如何使用 JavaScriptSerializer
  • JavaScriptSerializer 是 System.Web.Extensions.dll 的一部分。我在 c# 中使用它。不是 100% 确定它是否也可以在 Java 中使用。自从我做真正的 Java 以来已经有好几年了。在查找了一些东西之后,显然有 Java 的 Gson
  • 我的错,JavaScriptSerializer 是一个 C# dll。不适用于 Java。但是有flexjson,gson,json-io,...
【解决方案2】:
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()); 

【讨论】:

  • JsonArray 不是 Eclipse 上的库,我想所以我无法导入它
  • 虽然代码 sn-p 可能解决问题,但最好包括问题原因、建议的解决方案并提供代码作为示例。
【解决方案3】:

既然你得到一个 json,你可以很容易地将它转换成 JsonArray 并遍历它。

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

希望这会有所帮助。

【讨论】:

  • 如果 bufferedReader 不起作用,则在 fromJson 方法中传递字符串。 JsonArray array = gson.fromJson(res, JsonElement.class).getAsJsonArray();
  • 感谢帮助,但我使用 Java 在 Eclipse 上工作,所以我应该为 Gson 库或 JsonArray 添加包或 jar
  • 如果使用maven,添加gson依赖,否则添加到构建路径jar中。
猜你喜欢
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多