Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要在Java中列出的JsonArray_Java_Json_Arrays_Jsonobject_Android Json - Fatal编程技术网

要在Java中列出的JsonArray

要在Java中列出的JsonArray,java,json,arrays,jsonobject,android-json,Java,Json,Arrays,Jsonobject,Android Json,我在解析JsonArray响应时遇到问题 我从JsonArray中获取JsonObject,解析它并在实体消息中进行设置,然后将该消息添加到ArrayList中 问题是,在我想要返回的ArrayList中,我总是只有一条消息。这一定是一些基本错误,但我找不到 public ArrayList<Message> getSearchInfo(String response) { ArrayList<Message> searchResult = new ArrayLi

我在解析JsonArray响应时遇到问题

我从JsonArray中获取JsonObject,解析它并在实体消息中进行设置,然后将该消息添加到ArrayList中

问题是,在我想要返回的ArrayList中,我总是只有一条消息。这一定是一些基本错误,但我找不到

public ArrayList<Message> getSearchInfo(String response) {
    ArrayList<Message> searchResult = new ArrayList<Message>();

    int jsonMessageId = -1;
    String jsonDate = "";
    String jsonText = "";
    String jsonAutor = "";
    String jsonSource = "";
    int jsonThemeID = -1;
    int jsonSourceID = -1;

    try {
        JSONArray jArray = new JSONArray(response);

        if (jArray != null) {

            for (int i = 0; i < jArray.length(); i++) {
                try {

                    JSONObject oneObject = jArray.getJSONObject(i);
                    Message m = new Message();
                    // Pulling items from the array

                    jsonMessageId = oneObject.getInt("MessageId");
                    jsonDate = oneObject.getString("CreatedDate");
                    jsonText = oneObject.getString("TextMessage");
                    jsonAutor = oneObject.getString("Autor");
                    jsonSource = oneObject.getString("Source");
                    jsonThemeID = oneObject.getInt("ThemeId");
                    jsonSourceID = oneObject.getInt("SourceId");

                    m.setMessageId(jsonMessageId);
                    m.setMessageText(jsonText);
                    m.setDate(jsonDate);
                    m.setAutor(jsonAutor);
                    m.setSource(jsonSource);
                    m.setThemeId(jsonThemeID);
                    m.setSourceId(jsonSourceID);

                    searchResult.add(m);

                } catch (JSONException e) {
                    Log.d("URL EXC", "Exception 2");
                }
            }
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }
    return searchResult;
}
public ArrayList getSearchInfo(字符串响应){
ArrayList searchResult=新建ArrayList();
int-jsonMessageId=-1;
字符串jsonDate=“”;
字符串jsonText=“”;
字符串jsonAutor=“”;
字符串jsonSource=“”;
int-jsonThemeID=-1;
intjsonsourceid=-1;
试一试{
JSONArray jArray=新JSONArray(响应);
if(jArray!=null){
for(int i=0;i
p、 我使用WebAPI作为服务,并通过android从服务中获取资源。
知道我的错误在哪里吗?

每次循环中,您都会重新定义列表

从更改代码

 JSONArray jArray = new JSONArray(response);

        if (jArray != null) {

            for (int i = 0; i < jArray.length(); i++) {
                try {

                    searchResult = new ArrayList<Message>();
JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
for(int i=0;i

JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
searchResult=newarraylist();
for(int i=0;i
每次循环中,您都会重新定义列表

从更改代码

 JSONArray jArray = new JSONArray(response);

        if (jArray != null) {

            for (int i = 0; i < jArray.length(); i++) {
                try {

                    searchResult = new ArrayList<Message>();
JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
for(int i=0;i

JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
searchResult=newarraylist();
for(int i=0;i
每次循环中,您都会重新定义列表

从更改代码

 JSONArray jArray = new JSONArray(response);

        if (jArray != null) {

            for (int i = 0; i < jArray.length(); i++) {
                try {

                    searchResult = new ArrayList<Message>();
JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
for(int i=0;i

JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
searchResult=newarraylist();
for(int i=0;i
每次循环中,您都会重新定义列表

从更改代码

 JSONArray jArray = new JSONArray(response);

        if (jArray != null) {

            for (int i = 0; i < jArray.length(); i++) {
                try {

                    searchResult = new ArrayList<Message>();
JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
for(int i=0;i

JSONArray jArray=新的JSONArray(响应);
if(jArray!=null){
searchResult=newarraylist();
for(int i=0;i
post你的json字符串plz.searchResult=new ArrayList();应该在for循环之外。你基本上是在循环中初始化ArrayList。因此只有一个结果。我编辑过,但仍然有相同的问题…post你的json字符串plz.searchResult=new ArrayList();应该在for循环之外。您基本上是在循环中初始化arraylist。因此只有一个结果。我已编辑,但仍然存在相同的问题…发布您的json字符串plz.searchResult=new arraylist();应该在for循环之外。您基本上是在循环中初始化arraylist。因此只有一个结果。我已编辑,但仍然存在相同的问题…发布您的json字符串plz.searchResult=new arraylist();应该在for循环之外。您基本上是在循环中初始化arraylist。因此只有一个结果。我已编辑但仍有相同的问题…我已编辑但仍有相同的问题…1条消息而不是3条消息:(现在我重新启动了eclipse和phone,它正常工作了:可能是因为我的应用程序没有正确重新安装,但现在一切正常。我编辑了,但仍然有相同的问题…1条消息,而不是3条消息:(现在我重新启动了eclipse和phone,它正常工作了:可能是因为我的应用程序没有正确重新安装,但现在一切正常。我编辑了,但仍然有相同的问题…1条消息,而不是3条消息:(现在我重新启动了eclipse和phone,它工作了:S可能是我的应用程序没有正确重新安装的问题,但现在一切都好了。我编辑了,但仍然有相同的问题…1条消息而不是3条:(现在我重新启动了eclipse和phone,它工作了:S可能是我的应用程序没有正确重新安装的问题,但现在一切都好了。