diff --git a/pom.xml b/pom.xml
index 1cbeb99a..550ee600 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,10 +74,11 @@
- org.json
- json
- 20131018
+ com.github.openjson
+ openjson
+ 1.0.11
+
org.htmlparser
htmlparser
diff --git a/src/main/java/org/archive/extract/DumpingExtractorOutput.java b/src/main/java/org/archive/extract/DumpingExtractorOutput.java
index 69591931..43a81608 100644
--- a/src/main/java/org/archive/extract/DumpingExtractorOutput.java
+++ b/src/main/java/org/archive/extract/DumpingExtractorOutput.java
@@ -7,7 +7,7 @@
import org.archive.resource.Resource;
import org.archive.util.StreamCopy;
-import org.json.JSONException;
+import com.github.openjson.JSONException;
import com.google.common.io.ByteStreams;
import com.google.common.io.CountingOutputStream;
diff --git a/src/main/java/org/archive/extract/ExtractingResourceFactoryMapper.java b/src/main/java/org/archive/extract/ExtractingResourceFactoryMapper.java
index 0afe16fb..eb749d7d 100644
--- a/src/main/java/org/archive/extract/ExtractingResourceFactoryMapper.java
+++ b/src/main/java/org/archive/extract/ExtractingResourceFactoryMapper.java
@@ -20,8 +20,8 @@
import org.archive.resource.warc.record.DNSResourceFactory;
import org.archive.resource.warc.record.WARCJSONMetaDataResourceFactory;
import org.archive.resource.warc.record.WARCMetaDataResourceFactory;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class ExtractingResourceFactoryMapper implements ResourceFactoryMapper {
diff --git a/src/main/java/org/archive/extract/RealCDXExtractorOutput.java b/src/main/java/org/archive/extract/RealCDXExtractorOutput.java
index e6f6e82f..1fffe4fc 100644
--- a/src/main/java/org/archive/extract/RealCDXExtractorOutput.java
+++ b/src/main/java/org/archive/extract/RealCDXExtractorOutput.java
@@ -21,9 +21,9 @@
import org.archive.url.WaybackURLKeyMaker;
import org.archive.util.IAUtils;
import org.archive.util.StreamCopy;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import com.google.common.io.ByteStreams;
import com.google.common.io.CountingOutputStream;
diff --git a/src/main/java/org/archive/extract/WARCMetadataRecordExtractorOutput.java b/src/main/java/org/archive/extract/WARCMetadataRecordExtractorOutput.java
index 68f9d1c8..42bb4de9 100644
--- a/src/main/java/org/archive/extract/WARCMetadataRecordExtractorOutput.java
+++ b/src/main/java/org/archive/extract/WARCMetadataRecordExtractorOutput.java
@@ -18,9 +18,9 @@
import org.archive.resource.Resource;
import org.archive.util.IAUtils;
import org.archive.util.StreamCopy;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import com.google.common.io.ByteStreams;
import com.google.common.io.CountingOutputStream;
diff --git a/src/main/java/org/archive/extract/WATExtractorOutput.java b/src/main/java/org/archive/extract/WATExtractorOutput.java
index 3bcfa924..be655280 100644
--- a/src/main/java/org/archive/extract/WATExtractorOutput.java
+++ b/src/main/java/org/archive/extract/WATExtractorOutput.java
@@ -22,7 +22,7 @@
import org.archive.util.DateUtils;
import org.archive.util.StreamCopy;
import org.archive.util.io.CommitedOutputStream;
-import org.json.JSONException;
+import com.github.openjson.JSONException;
import java.net.InetAddress;
import java.text.DateFormat;
@@ -169,12 +169,8 @@ private void writeWARCMDRecord(OutputStream recOut, MetaData md,
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(bos, UTF8);
- try {
- md.write(osw);
- } catch (JSONException e1) {
- e1.printStackTrace();
- throw new IOException(e1);
- }
+ String contents = md.toString();
+ osw.write(contents, 0, contents.length());
osw.flush();
// ByteArrayInputStream bais = new ByteArrayInputStream(md.toString().getBytes("UTF-8"));
Date capDate;
diff --git a/src/main/java/org/archive/format/arc/FiledescRecord.java b/src/main/java/org/archive/format/arc/FiledescRecord.java
index 9af3d461..dc43765b 100644
--- a/src/main/java/org/archive/format/arc/FiledescRecord.java
+++ b/src/main/java/org/archive/format/arc/FiledescRecord.java
@@ -2,9 +2,9 @@
import java.util.logging.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class FiledescRecord {
private static final Logger LOG =
@@ -87,4 +87,4 @@ public String getFormat() {
public void setFormat(String format) {
this.format = format;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/archive/format/json/CompoundORJSONPathSpec.java b/src/main/java/org/archive/format/json/CompoundORJSONPathSpec.java
index b99e4f23..aa6911e4 100644
--- a/src/main/java/org/archive/format/json/CompoundORJSONPathSpec.java
+++ b/src/main/java/org/archive/format/json/CompoundORJSONPathSpec.java
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.json.JSONObject;
+import com.github.openjson.JSONObject;
public class CompoundORJSONPathSpec implements JSONPathSpec {
ArrayList parts;
diff --git a/src/main/java/org/archive/format/json/JSONPathSpec.java b/src/main/java/org/archive/format/json/JSONPathSpec.java
index 68adf0bd..f78eaaff 100644
--- a/src/main/java/org/archive/format/json/JSONPathSpec.java
+++ b/src/main/java/org/archive/format/json/JSONPathSpec.java
@@ -2,7 +2,7 @@
import java.util.List;
-import org.json.JSONObject;
+import com.github.openjson.JSONObject;
public interface JSONPathSpec {
public static final String EMPTY = "";
diff --git a/src/main/java/org/archive/format/json/JSONUtils.java b/src/main/java/org/archive/format/json/JSONUtils.java
index 28f4f43e..6fff07bb 100644
--- a/src/main/java/org/archive/format/json/JSONUtils.java
+++ b/src/main/java/org/archive/format/json/JSONUtils.java
@@ -4,9 +4,9 @@
import java.util.List;
import java.util.logging.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class JSONUtils {
private static final Logger LOG =
diff --git a/src/main/java/org/archive/format/json/JSONView.java b/src/main/java/org/archive/format/json/JSONView.java
index b73c0666..99da2364 100644
--- a/src/main/java/org/archive/format/json/JSONView.java
+++ b/src/main/java/org/archive/format/json/JSONView.java
@@ -6,7 +6,7 @@
import java.util.logging.Logger;
import org.apache.commons.lang.StringUtils;
-import org.json.JSONObject;
+import com.github.openjson.JSONObject;
/**
*
diff --git a/src/main/java/org/archive/format/json/SimpleJSONPathSpec.java b/src/main/java/org/archive/format/json/SimpleJSONPathSpec.java
index c0b1a8d6..f114d30c 100644
--- a/src/main/java/org/archive/format/json/SimpleJSONPathSpec.java
+++ b/src/main/java/org/archive/format/json/SimpleJSONPathSpec.java
@@ -4,9 +4,9 @@
import java.util.List;
import java.util.logging.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class SimpleJSONPathSpec implements JSONPathSpec {
private static final Logger LOG =
diff --git a/src/main/java/org/archive/hadoop/ArchiveJSONViewLoader.java b/src/main/java/org/archive/hadoop/ArchiveJSONViewLoader.java
index e92ed7e1..766e33e6 100644
--- a/src/main/java/org/archive/hadoop/ArchiveJSONViewLoader.java
+++ b/src/main/java/org/archive/hadoop/ArchiveJSONViewLoader.java
@@ -11,8 +11,8 @@
import org.apache.pig.data.Tuple;
import org.apache.pig.data.TupleFactory;
import org.archive.format.json.JSONView;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class ArchiveJSONViewLoader extends ArchiveMetadataLoader {
private final static Logger LOG =
diff --git a/src/main/java/org/archive/hadoop/func/JSONViewEvalFunc.java b/src/main/java/org/archive/hadoop/func/JSONViewEvalFunc.java
index 8d4446b5..bc390ff6 100644
--- a/src/main/java/org/archive/hadoop/func/JSONViewEvalFunc.java
+++ b/src/main/java/org/archive/hadoop/func/JSONViewEvalFunc.java
@@ -8,8 +8,8 @@
import org.apache.pig.data.Tuple;
import org.apache.pig.data.TupleFactory;
import org.archive.format.json.JSONUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class JSONViewEvalFunc extends EvalFunc {
private static final Logger LOG =
diff --git a/src/main/java/org/archive/io/WriterPool.java b/src/main/java/org/archive/io/WriterPool.java
index 2dc385a1..c5e175e0 100644
--- a/src/main/java/org/archive/io/WriterPool.java
+++ b/src/main/java/org/archive/io/WriterPool.java
@@ -30,9 +30,9 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
/**
* Pool of Writers.
diff --git a/src/main/java/org/archive/resource/MetaData.java b/src/main/java/org/archive/resource/MetaData.java
index a975b0d4..1237a51c 100755
--- a/src/main/java/org/archive/resource/MetaData.java
+++ b/src/main/java/org/archive/resource/MetaData.java
@@ -2,10 +2,10 @@
import java.util.logging.Logger;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
+import com.github.openjson.JSONTokener;
public class MetaData extends JSONObject {
diff --git a/src/main/java/org/archive/resource/gzip/GZIPMetaData.java b/src/main/java/org/archive/resource/gzip/GZIPMetaData.java
index 0fc18162..104e5fa9 100644
--- a/src/main/java/org/archive/resource/gzip/GZIPMetaData.java
+++ b/src/main/java/org/archive/resource/gzip/GZIPMetaData.java
@@ -12,8 +12,8 @@
import org.archive.resource.MetaData;
import org.archive.resource.ResourceConstants;
import org.archive.util.ByteOp;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class GZIPMetaData extends MetaData implements ResourceConstants {
private static final Logger LOG = Logger.getLogger(GZIPMetaData.class.getName());
diff --git a/src/main/java/org/archive/resource/html/HTMLMetaData.java b/src/main/java/org/archive/resource/html/HTMLMetaData.java
index 024d9677..b8e1fb21 100644
--- a/src/main/java/org/archive/resource/html/HTMLMetaData.java
+++ b/src/main/java/org/archive/resource/html/HTMLMetaData.java
@@ -5,9 +5,9 @@
import org.archive.resource.MetaData;
import org.archive.resource.ResourceConstants;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class HTMLMetaData extends MetaData implements ResourceConstants {
diff --git a/src/main/java/org/archive/resource/html/HTMLResourceFactory.java b/src/main/java/org/archive/resource/html/HTMLResourceFactory.java
index afb1c850..2532622e 100644
--- a/src/main/java/org/archive/resource/html/HTMLResourceFactory.java
+++ b/src/main/java/org/archive/resource/html/HTMLResourceFactory.java
@@ -20,8 +20,8 @@
import org.archive.resource.ResourceParseException;
import org.htmlparser.lexer.Page;
import org.htmlparser.util.ParserException;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class HTMLResourceFactory implements ResourceFactory {
diff --git a/src/main/java/org/archive/resource/warc/record/DNSResource.java b/src/main/java/org/archive/resource/warc/record/DNSResource.java
index 2bcb2bc1..86c56652 100644
--- a/src/main/java/org/archive/resource/warc/record/DNSResource.java
+++ b/src/main/java/org/archive/resource/warc/record/DNSResource.java
@@ -9,8 +9,8 @@
import org.archive.resource.MetaData;
import org.archive.resource.ResourceConstants;
import org.archive.resource.ResourceContainer;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
public class DNSResource extends AbstractEmptyResource implements ResourceConstants {
private static final Logger LOG =
diff --git a/src/main/java/org/archive/resource/warc/record/WARCJSONMetaDataResourceFactory.java b/src/main/java/org/archive/resource/warc/record/WARCJSONMetaDataResourceFactory.java
index 43041efb..6173bfdc 100644
--- a/src/main/java/org/archive/resource/warc/record/WARCJSONMetaDataResourceFactory.java
+++ b/src/main/java/org/archive/resource/warc/record/WARCJSONMetaDataResourceFactory.java
@@ -11,8 +11,8 @@
import org.archive.resource.ResourceContainer;
import org.archive.resource.ResourceFactory;
import org.archive.resource.ResourceParseException;
-import org.json.JSONException;
-import org.json.JSONTokener;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONTokener;
public class WARCJSONMetaDataResourceFactory implements ResourceFactory, ResourceConstants {
private static final Charset UTF8 = Charset.forName("UTF-8");
diff --git a/src/test/java/org/archive/format/json/CompoundORJSONPathSpecTest.java b/src/test/java/org/archive/format/json/CompoundORJSONPathSpecTest.java
index 57c21965..c10241d2 100644
--- a/src/test/java/org/archive/format/json/CompoundORJSONPathSpecTest.java
+++ b/src/test/java/org/archive/format/json/CompoundORJSONPathSpecTest.java
@@ -3,8 +3,8 @@
import java.util.ArrayList;
import org.archive.util.TestUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import junit.framework.TestCase;
diff --git a/src/test/java/org/archive/format/json/JSONPathSpecFactoryTest.java b/src/test/java/org/archive/format/json/JSONPathSpecFactoryTest.java
index ab999dca..b351a120 100644
--- a/src/test/java/org/archive/format/json/JSONPathSpecFactoryTest.java
+++ b/src/test/java/org/archive/format/json/JSONPathSpecFactoryTest.java
@@ -1,8 +1,8 @@
package org.archive.format.json;
import org.archive.util.TestUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import junit.framework.TestCase;
diff --git a/src/test/java/org/archive/format/json/JSONViewTest.java b/src/test/java/org/archive/format/json/JSONViewTest.java
index 20bd4fe6..b75a4e0a 100644
--- a/src/test/java/org/archive/format/json/JSONViewTest.java
+++ b/src/test/java/org/archive/format/json/JSONViewTest.java
@@ -1,8 +1,8 @@
package org.archive.format.json;
import org.archive.util.TestUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import junit.framework.TestCase;
diff --git a/src/test/java/org/archive/format/json/SimpleJSONPathSpecTest.java b/src/test/java/org/archive/format/json/SimpleJSONPathSpecTest.java
index a703b49a..773df618 100644
--- a/src/test/java/org/archive/format/json/SimpleJSONPathSpecTest.java
+++ b/src/test/java/org/archive/format/json/SimpleJSONPathSpecTest.java
@@ -1,8 +1,8 @@
package org.archive.format.json;
import org.archive.util.TestUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import junit.framework.TestCase;
diff --git a/src/test/java/org/archive/resource/html/ExtractingParseObserverTest.java b/src/test/java/org/archive/resource/html/ExtractingParseObserverTest.java
index 8f690a06..7d58a547 100644
--- a/src/test/java/org/archive/resource/html/ExtractingParseObserverTest.java
+++ b/src/test/java/org/archive/resource/html/ExtractingParseObserverTest.java
@@ -14,10 +14,10 @@
import org.archive.resource.ResourceParseException;
import org.archive.resource.ResourceProducer;
import org.htmlparser.nodes.TextNode;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
diff --git a/src/test/java/org/archive/resource/html/HTMLMetaDataTest.java b/src/test/java/org/archive/resource/html/HTMLMetaDataTest.java
index fb255d3c..49be94d5 100644
--- a/src/test/java/org/archive/resource/html/HTMLMetaDataTest.java
+++ b/src/test/java/org/archive/resource/html/HTMLMetaDataTest.java
@@ -1,8 +1,8 @@
package org.archive.resource.html;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
+import com.github.openjson.JSONArray;
+import com.github.openjson.JSONException;
+import com.github.openjson.JSONObject;
import junit.framework.TestCase;