如何使用这个JSON数组..?

时间:2017-11-03 17:27:30

标签: android json

  

**我正在尝试使用Autosuggesttextview **   Json数组

[" balakumar&#34 ;,     "巴拉&#34 ;,     " balakumar&#34 ;,     "巴拉&#34 ;,     " bala kumar kumar",     " balakumar%20kumar&#34 ;,     "巴拉%20kumar%20mani&#34 ;,     "巴拉%20kuma&#34 ;,     " balasingh"]

  

我的Json prase类文件

    class JsonParse {

    public List<Country> getParseJsonWCF(String sName)
    {
        List<Country> ListData = new ArrayList<>();
        try {
            String temp=sName.replace(" ", "%20");
            URL js = new URL("http://examplejson/json"+temp);
            URLConnection jc = js.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(jc.getInputStream()));
            String line = reader.readLine();
            JSONArray jsonArray=new JSONArray(line);
            for(int i = 0; i < jsonArray.length(); i++){
//                JSONObject o=jsonArray.getJSONObject(i);
//                Country item=new Country(o.getString("user_name"));
//                ListData.add(item);
//                int value=jsonArray.getInt(i);
//                String.valueOf(value);
//                Log.e("json", i+"="+value);
//                ListData.add(value);
                Country value= (Country) jsonArray.get(i);
                ListData.add(value);
            }
        }
        catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        return ListData;

    }

}

1 个答案:

答案 0 :(得分:0)

你不能使用“开箱即用”库来使用json吗?

我看到你正在使用Java,javax.json包非常有用......如果你使用maven,你可以将这个依赖项添加到你的pom.xml:

    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.0.4</version>
    </dependency>

然后做:

try(JsonReader reader = Json.createReader(/*reader or inputStream*/)) {
    JsonArray array = reader.readArray();
}

虽然你的代码显示了一些外部类可能是一个库来读取json数据然后我的建议没用。如果您尝试将%20解码为空格,可以使用URLDecoder ...示例:

System.out.println(URLDecoder.decode("Jerônimo%20Nunes",StandardCharsets.UTF_8.name()));

会打印Jerônimo Nunes