Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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中的couchdb4j api将批量文档保存到couchdb时发生java.lang.NullPointerException_Java_Database_Nosql_Couchdb - Fatal编程技术网

使用java中的couchdb4j api将批量文档保存到couchdb时发生java.lang.NullPointerException

使用java中的couchdb4j api将批量文档保存到couchdb时发生java.lang.NullPointerException,java,database,nosql,couchdb,Java,Database,Nosql,Couchdb,我试图保存包含约1,30000条记录的文档,并使用bulksavedocument方法保存该文档,但出现以下错误 java.lang.NullPointerException at com.fourspaces.couchdb.Database.bulkSaveDocuments(Database.java:280) net.sf.json.JSONException: A JSONArray text must start with '[' at character 1 of {"d

我试图保存包含约1,30000条记录的文档,并使用bulksavedocument方法保存该文档,但出现以下错误

 java.lang.NullPointerException
at com.fourspaces.couchdb.Database.bulkSaveDocuments(Database.java:280)
   net.sf.json.JSONException: A JSONArray text must start with '[' at character 1 of {"db_name":"item_masters_test","doc_count":0,"doc_del_count":0,"update_seq":0,"purge_seq":0,"compact_running":false,"disk_size":79,"instance_start_time":"1337249297703950","disk_format_version":5,"committed_update_seq":0}
at net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:499)
at net.sf.json.JSONArray._fromJSONTokener(JSONArray.java:1116)
at net.sf.json.JSONArray._fromString(JSONArray.java:1197)
at net.sf.json.JSONArray.fromObject(JSONArray.java:127)
at net.sf.json.JSONArray.fromObject(JSONArray.java:105)
at com.fourspaces.couchdb.CouchResponse.getBodyAsJSONArray(CouchResponse.java:129)
at com.fourspaces.couchdb.Database.bulkSaveDocuments(Database.java:282)
at ItemMasterTest4.main(ItemMasterTest4.java:565)
下面是我用来保存批量文档的代码

JSONArray json=new JSONArray(); 
Document[] newdoc = null;
newdoc = new Document[json.size()];                      
for(int i=0;i<json.size();i++)
{
    Document singleDoc = new Document(json.getJSONObject(i));
    newdoc[i]=singleDoc;
}         
Session s = new Session("localhost",5984);
Database db = s.getDatabase("test"); 

db.bulkSaveDocuments(newdoc);

请建议解决此异常的方法。

我不太了解这个JSON库,但是

JSONArray json=new JSONArray(); 
可能是大小为0(空)的数组

因此,您的循环以索引0进入,而索引0并不存在。所以

json.getJSONObject(i)
可能返回null


你在哪里写的

for(int i=0;i<json.size();i++)

for(inti=0;i我不太了解这个JSON库,但是

JSONArray json=new JSONArray(); 
可能是大小为0(空)的数组

所以你的循环以索引0进入,而索引0并不存在

json.getJSONObject(i)
可能返回null


你在哪里写的

for(int i=0;i<json.size();i++)

用于(int i=0;i@ckuetbach*拍额头*不是结果集的第280行,当然是源代码的第280行。我想这是Document singleDoc=new Document…,但我不知道。@ckuetbach*拍额头*不是结果集的第280行,当然是源代码的第280行。我想这是Document singleDoc=new Document…,但我不知道没有数据库不是空的。然后会有一个不同的StackTrace。第280行有一个对数据库的访问。有一个空指针。我的坏;这完全超出了我的头脑。我需要睡觉,哈哈。我用for(int I=0;icom.fourspaces.couchdb.Database.bulkSaveDocuments)更改了代码(Database.java:280)如果OP没有关于CoucheDB4j版本的更多信息,我们无法参考舒尔的这一源代码行。但这是一个好的方向…没有数据库不是空的。那么会有不同的StackTrace。第280行有一个数据库访问权限。有一个空指针。我的不好;这完全超出了我的头脑。我需要睡觉,哈哈。我更改了源代码使用for(int i=0;icom.fourspaces.couchdb.Database.bulkSaveDocuments(Database.java:280)编写的代码如果没有OP提供的有关CoucheDB4j版本的更多信息,我们无法参考舒尔的此源代码行。但这是一个很好的方向。。。