的Eclipse总是给我这个编译错误,当我试图得到一个JSONArray的长度)方法长度()是未定义的类型JSONArray
方法长度(未定义的类型JSONArray
下面是代码:
import org.springframework.context.annotation.Scope;
import java.net.*;
import java.io.*;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import javax.inject.Named;
@Named("search")
@Scope("request")
public class Search {
private String query;
private String result;
private int num;
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public String getResult() {
return this.result;
}
public void setResult(String result) {
this.result = result;
}
public int getNum() {
return this.num;
}
public void setNum(int num) {
this.num = num;
}
public String send() {
try
{
//SEND REQUEST TO SOLR SERVER
URL url = new URL("http://localhost:8983/solr/select/?q="+this.query +"&version=2.2&start=0&rows=100&indent=on&wt=json");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null)
{
this.result = this.result+str;
}
in.close();
//CONVERT RESULT TO OBJECT
this.result=this.result.substring(4);
JSONObject json = (JSONObject) JSONSerializer.toJSON(this.result);
JSONArray results = new JSONArray();
json = json.getJSONObject("response");
this.num = json.getInt("numFound");
results = json.getJSONArray("docs");
int num = results.length();
我不知道为什么这个错误被弹出。这是如何造成的,我该如何解决这个问题?
它会帮助,如果你能后的样本JSON对象了。 –