要在Java中列出的JsonArray
我在解析JsonArray响应时遇到问题 我从JsonArray中获取JsonObject,解析它并在实体消息中进行设置,然后将该消息添加到ArrayList中 问题是,在我想要返回的ArrayList中,我总是只有一条消息。这一定是一些基本错误,但我找不到要在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
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可能是我的应用程序没有正确重新安装的问题,但现在一切都好了。