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

XML.toString(array)

This commit is contained in:
Douglas Crockford 2011-01-13 18:33:56 -08:00
parent a1fcffecb2
commit 12b75c4acc
2 changed files with 17 additions and 23 deletions

View file

@ -465,6 +465,7 @@ public class Test extends TestCase {
int ar[] = {1, 2, 3}; int ar[] = {1, 2, 3};
JSONArray ja = new JSONArray(ar); JSONArray ja = new JSONArray(ar);
assertEquals("[1,2,3]", ja.toString()); assertEquals("[1,2,3]", ja.toString());
assertEquals("<array>1</array><array>2</array><array>3</array>", XML.toString(ar));
String sa[] = {"aString", "aNumber", "aBoolean"}; String sa[] = {"aString", "aNumber", "aBoolean"};
jsonobject = new JSONObject(beanie, sa); jsonobject = new JSONObject(beanie, sa);

View file

@ -24,7 +24,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
*/ */
import java.lang.reflect.Array;
import java.util.Iterator; import java.util.Iterator;
@ -460,17 +459,6 @@ public class XML {
sb.append(toString(value, key)); sb.append(toString(value, key));
} }
} }
} else if (value.getClass().isArray()) {
length = Array.getLength(value);
for (i = 0; i < length; i += 1) {
sb.append('<');
sb.append(key);
sb.append('>');
sb.append(Array.get(value, i).toString());
sb.append("</");
sb.append(key);
sb.append('>');
}
} else if (value.equals("")) { } else if (value.equals("")) {
sb.append('<'); sb.append('<');
sb.append(key); sb.append(key);
@ -495,18 +483,23 @@ public class XML {
// XML does not have good support for arrays. If an array appears in a place // XML does not have good support for arrays. If an array appears in a place
// where XML is lacking, synthesize an <array> element. // where XML is lacking, synthesize an <array> element.
} else if (object instanceof JSONArray) {
ja = (JSONArray)object;
length = ja.length();
for (i = 0; i < length; i += 1) {
sb.append(toString(ja.opt(i), tagName == null ? "array" : tagName));
}
return sb.toString();
} else { } else {
string = (object == null) ? "null" : escape(object.toString()); if (object.getClass().isArray()) {
return (tagName == null) ? "\"" + string + "\"" : object = new JSONArray(object);
(string.length() == 0) ? "<" + tagName + "/>" : }
"<" + tagName + ">" + string + "</" + tagName + ">"; if (object instanceof JSONArray) {
ja = (JSONArray)object;
length = ja.length();
for (i = 0; i < length; i += 1) {
sb.append(toString(ja.opt(i), tagName == null ? "array" : tagName));
}
return sb.toString();
} else {
string = (object == null) ? "null" : escape(object.toString());
return (tagName == null) ? "\"" + string + "\"" :
(string.length() == 0) ? "<" + tagName + "/>" :
"<" + tagName + ">" + string + "</" + tagName + ">";
}
} }
} }
} }