mirror of
https://github.com/ethauvin/JSON-java.git
synced 2025-06-17 07:50:52 -07:00
Adds JSONException for write value errors so serialization errors can be tracked easier
This commit is contained in:
parent
ef7a5e40be
commit
ad6bdd715d
2 changed files with 26 additions and 8 deletions
|
@ -1384,8 +1384,12 @@ public class JSONArray implements Iterable<Object> {
|
|||
writer.write('[');
|
||||
|
||||
if (length == 1) {
|
||||
JSONObject.writeValue(writer, this.myArrayList.get(0),
|
||||
indentFactor, indent);
|
||||
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);
|
||||
JSONObject.writeValue(writer, this.myArrayList.get(i),
|
||||
indentFactor, 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) {
|
||||
|
|
|
@ -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(' ');
|
||||
}
|
||||
writeValue(writer, entry.getValue(), indentFactor, indent);
|
||||
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(' ');
|
||||
}
|
||||
writeValue(writer, entry.getValue(), indentFactor, newindent);
|
||||
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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue