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

added JSONObject#query() and JSONPointer#query() methods

This commit is contained in:
Bence Erős 2016-04-26 23:48:14 +02:00
parent 792c6f6a9c
commit 45bd72c15d
3 changed files with 22 additions and 3 deletions

View file

@ -30,7 +30,11 @@ import java.io.Writer;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/** /**
* A JSONArray is an ordered sequence of values. Its external text form is a * A JSONArray is an ordered sequence of values. Its external text form is a
@ -955,6 +959,10 @@ public class JSONArray implements Iterable<Object> {
} }
return this; return this;
} }
public Object query(String jsonPointer) {
return new JSONPointer(jsonPointer).queryFrom(this);
}
/** /**
* Remove an index and close the hole. * Remove an index and close the hole.

View file

@ -32,8 +32,15 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier; import java.lang.reflect.Modifier;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.*; import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.ResourceBundle;
import java.util.Set;
/** /**
* A JSONObject is an unordered collection of name/value pairs. Its external * A JSONObject is an unordered collection of name/value pairs. Its external
@ -1330,6 +1337,10 @@ public class JSONObject {
} }
return this; return this;
} }
public Object query(String jsonPointer) {
return new JSONPointer(jsonPointer).queryFrom(this);
}
/** /**
* Produce a string in double quotes with backslash sequences in all the * Produce a string in double quotes with backslash sequences in all the

View file

@ -44,7 +44,7 @@ public class JSONPointer {
.replace("\\\\", "\\"); .replace("\\\\", "\\");
} }
public Object queryFrom(JSONObject document) { public Object queryFrom(Object document) {
if (refTokens.isEmpty()) { if (refTokens.isEmpty()) {
return document; return document;
} }