Java 通过webservice android读取JSON

Java 通过webservice android读取JSON,java,android,json,webservice-client,arrays,Java,Android,Json,Webservice Client,Arrays,我尝试开发一个Android应用程序web服务来返回json文件,例如: {“成功”:1,“消息”:“发布” 可用!,“posts”:[{“post_id”:“1”,“username”:“hasni”,“title”:“titre”,“message”:“this” 是我的消息“},{“post_id”:“2”,“username”:“user2”,“title”:“titre” “留言”:“这是我的留言 2“},{post_-id:“3”,“username:“123”,“title:“12

我尝试开发一个Android应用程序web服务来返回json文件,例如:

{“成功”:1,“消息”:“发布” 可用!,“posts”:[{“post_id”:“1”,“username”:“hasni”,“title”:“titre”,“message”:“this” 是我的消息“},{“post_id”:“2”,“username”:“user2”,“title”:“titre” “留言”:“这是我的留言 2“},{post_-id:“3”,“username:“123”,“title:“12”,“message:“111”},{post_-id:“4”,“username:“1212”,“title:“1212”,“message:“1212”},{post_-id:“5”,“username:“1212”,“title:“你好”,“message:”瞧 行政长官致辞全文 },{“post_id”:“6”,“username”:“121212”,“title”:“titre”,“message”:“message”}]}

这是读取此JSON的代码部分:

        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("receiver", strSender));
        JSONObject json = jsonParser.makeHttpRequest(
                LOGIN_URL, "POST", params);
        success = json.getInt(TAG_SUCCESS);

        Log.d("ok", "ok");

        if (success == 1){

            messagesArray = (JSONArray)json.getJSONArray(TAG_POSTS);
            for (int i= 0;i <messagesArray.length();i++){
                Log.d("iteration", "iteration" + i);
                JSONObject messageJson = messagesArray.getJSONObject(i);
                Log.d("post_id","post_id: "+i+ " "+ messageJson.getString(TAG_POSTS_ID) );
                Log.d("username","username: " +i+" " + messageJson.getString(TAG_POSTS_USERNAME));
                Log.d("title", "title: " +i+ " " + messageJson.getString(TAG_POSTS_ID_TITLE));
                Log.d("message","message: "+i+" "+ messageJson.getString(TAG_POSTS_ID_MESSAGE));
            }

        }else{
            Log.d("failed", "!!!!!!!!!!!!!!!!!!!!!!!!");
        }
//建筑参数
List params=new ArrayList();
参数add(新的BasicNameValuePair(“接收方”,strSender));
JSONObject json=jsonParser.makeHttpRequest(
登录URL,“POST”,参数);
success=json.getInt(TAG_success);
Log.d(“ok”、“ok”);
如果(成功==1){
messagesArray=(JSONArray)json.getJSONArray(TAG_POSTS);

对于(int i=0;i我用这种方式尝试了您的代码

    private void jsonTest() {
    try {
        String jsonString = "{\"success\":1,\"message\":\"Post Available!\",\"posts\":[{\"post_id\":\"1\",\"username\":\"hasni\",\"title\":\"titre\",\"message\":\"this is my message\"},{\"post_id\":\"2\",\"username\":\"user2\",\"title\":\"titre 2\",\"message\":\"this is my message 2\"},{\"post_id\":\"3\",\"username\":\"123\",\"title\":\"12\",\"message\":\"111\"},{\"post_id\":\"4\",\"username\":\"1212\",\"title\":\"1212\",\"message\":\"1212\"},{\"post_id\":\"5\",\"username\":\"1212\",\"title\":\"bonjour\",\"message\":\"voila ce message qui vient d'une session \"},{\"post_id\":\"6\",\"username\":\"121212\",\"title\":\"titre\",\"message\":\"message\"}]}";

        Log.i(TAG, "jsonString = " + jsonString);
        JSONObject json = new JSONObject(jsonString);
        int success = json.getInt("success");

        Log.d("ok", "ok");

        if (success == 1) {

            JSONArray messagesArray = (JSONArray) json
                    .getJSONArray("posts");
            for (int i = 0; i < messagesArray.length(); i++) {
                Log.d("iteration", "iteration" + i);
                JSONObject messageJson = messagesArray.getJSONObject(i);
                Log.d("post_id",
                        "post_id: " + i + " "
                                + messageJson.getString("post_id"));
                Log.d("username",
                        "username: " + i + " "
                                + messageJson.getString("username"));
                Log.d("title",
                        "title: " + i + " "
                                + messageJson.getString("title"));
                Log.d("message",
                        "message: " + i + " "
                                + messageJson.getString("message"));
            }

        } else {
            Log.d("failed", "!!!!!!!!!!!!!!!!!!!!!!!!");
        }
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
}
private void jsonTest(){
试一试{
“职位”方面:除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了以外以外以外以外以外以外以外以外以外以外以外以外的以外的以外的以外的以外的以外以外的以外的其他一些一些邮政以外以外以外以外以外以外的其他一些除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了12\,\“消息\”:“111、{post\u id\:“4\”、“username\”:“1212\”、“title\”:“1212\”、“message\”:“1212\”、{post\u id\”:“5\”、“username\”:“1212\”、“title\”:“你好”,“message\”:“voila ce message qui vient d'une session\”、{“post\u id\”:“6\”、“username\”:“1212\”、“title\”:“message\”:“message\”:“voila-ce message;
Log.i(标记“jsonString=“+jsonString”);
JSONObject json=新的JSONObject(jsonString);
int success=json.getInt(“success”);
Log.d(“ok”、“ok”);
如果(成功==1){
JSONArray messagesArray=(JSONArray)json
.getJSONArray(“职位”);
对于(int i=0;i

并且工作正常,您定义的标记可能有问题。

您可以打印在Android中接收到的json吗?尝试在下面的
success=json.getInt(TAG_success);
中编写
Log.d(“json”,json.toString());
并告诉您接收到的json的结构是否如您所愿。我在json解析器中遇到了一个问题