如何创建JSON文件并使用volley用新数据填充它

时间:2015-10-17 03:15:44

标签: android json android-volley

我觉得很简单的问题?如何创建JSON文件并插入(追加)我从Volley请求的新数据(GET)。所以回顾一下,创建文件并将其附加到我获取的响应中。谢谢!

// Formulate the request and handle the response.
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, (String )null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    Toast.makeText(getActivity(), response.toString() , Toast.LENGTH_LONG).show();
                }

            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getActivity(), "Error Fetching Data", Toast.LENGTH_LONG).show();
        }
    });

    mRequestQueue.add(jsonObjectRequest);

当用户的手机上存在该文件时,我如何阅读该文件(非常不重要,但仍然提供了背景信息)

public String loadJSONFromAsset() {

    String json = null;
    try {
        InputStream is = getActivity().getAssets().open("test12.json");
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
        json = new String(buffer, "UTF-8");
    } catch (IOException ex) {
        Toast.makeText(getActivity(), "Error Fetching Data", Toast.LENGTH_LONG).show();
        return null;
    }

    return json;

}

谢谢!

1 个答案:

答案 0 :(得分:0)

问题是因为你的loadJSONFromAsset没有生成json。它只读取文件并将数据放入字符串中。你必须用

转换成json
res/raw
然后在你的凌空onResponse你可以把它们放在一起。请参阅此答案(由其他人)以了解如何执行此操作:https://stackoverflow.com/a/2403453/267540