簡體   English   中英

從字符串創建新的JSONObject返回Null-JAVA / Android

[英]Creating new JSONObject from String Returns Null - JAVA / Android

我正在嘗試從字符串創建新的JSONObject,但是由於某種原因,新的JSONObject始終為null-但我不確定為什么。

任何建議表示贊賞。

資源:

JSONObject messagesObj;


    String mArr = intent.getStringExtra("msgArr");

            try {
                if (mArr != null)
                    messagesObj = new JSONObject(mArr);

                if (messagesObj != null)
                    populateMessages(messagesObj);
                DataManager.clientChatMarkMessagesSeen(chatId);
            } catch (JSONException e) {
            //    DataManager.clientChatLoad(this);
                e.printStackTrace();
            }

值:

String mArr = [{"message":"User has joined the chat.","type":"agent","created":"2016-12-07 17:35:09","name":"User"},{"message":"Hello World?","type":"agent","created":"2016-12-07 17:35:17","name":"User"},{"message":"User has left the chat.","type":"agent","created":"2016-12-07 17:38:40","name":"User"}]

因為這不是json對象,所以它是JSONArray。 嘗試創建JSONArray而不是JSONObject

字符串是json數組,不是object ..請查看根節點,它不是{}

像這樣的對象數組修改字符串

字符串mArr = {“結果”:[{“消息”:“用戶已加入聊天。”,“類型”:“代理”,“創建”:“ 2016-12-07 17:35:09”,“名稱“:” User“},{” message“:” Hello World?“,” type“:” agent“,” created“:” 2016-12-07 17:35:17“,” name“:” User“ },{“ message”:“用戶已退出聊天。”,“ type”:“代理”,“創建”:“ 2016-12-07 17:38:40”,“ name”:“ User”}] }

使用JSONArray array = new JSONArray(“ string here”)。 如果以方括號開頭,則為數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM