1
0
Fork 0
mirror of https://github.com/ethauvin/JSON-java.git synced 2025-06-17 07:50:52 -07:00

Merge pull request #345 from johnjaylward/BetterErrorHandling

Adds JSONException for write value errors
This commit is contained in:
Sean Leary 2017-06-11 14:12:48 -05:00 committed by GitHub
commit c9ae1f17d7
2 changed files with 26 additions and 8 deletions

View file

@ -1384,8 +1384,12 @@ public class JSONArray implements Iterable<Object> {
writer.write('[');
if (length == 1) {
try {
JSONObject.writeValue(writer, this.myArrayList.get(0),
indentFactor, indent);
} catch (Exception e) {
throw new JSONException("Unable to write JSONArray value at index: 0", e);
}
} else if (length != 0) {
final int newindent = indent + indentFactor;
@ -1397,8 +1401,12 @@ public class JSONArray implements Iterable<Object> {
writer.write('\n');
}
JSONObject.indent(writer, newindent);
try {
JSONObject.writeValue(writer, this.myArrayList.get(i),
indentFactor, newindent);
} catch (Exception e) {
throw new JSONException("Unable to write JSONArray value at index: " + i, e);
}
commanate = true;
}
if (indentFactor > 0) {

View file

@ -2240,12 +2240,17 @@ public class JSONObject {
if (length == 1) {
final Entry<String,?> entry = this.entrySet().iterator().next();
writer.write(quote(entry.getKey()));
final String key = entry.getKey();
writer.write(quote(key));
writer.write(':');
if (indentFactor > 0) {
writer.write(' ');
}
try{
writeValue(writer, entry.getValue(), indentFactor, indent);
} catch (Exception e) {
throw new JSONException("Unable to write JSONObject value for key: " + key, e);
}
} else if (length != 0) {
final int newindent = indent + indentFactor;
for (final Entry<String,?> entry : this.entrySet()) {
@ -2256,12 +2261,17 @@ public class JSONObject {
writer.write('\n');
}
indent(writer, newindent);
writer.write(quote(entry.getKey()));
final String key = entry.getKey();
writer.write(quote(key));
writer.write(':');
if (indentFactor > 0) {
writer.write(' ');
}
try {
writeValue(writer, entry.getValue(), indentFactor, newindent);
} catch (Exception e) {
throw new JSONException("Unable to write JSONObject value for key: " + key, e);
}
commanate = true;
}
if (indentFactor > 0) {