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.math.BigDecimal;
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
@ -955,6 +959,10 @@ public class JSONArray implements Iterable<Object> {
}
return this;
}
public Object query(String jsonPointer) {
return new JSONPointer(jsonPointer).queryFrom(this);
}
/**
* 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.math.BigDecimal;
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.ResourceBundle;
import java.util.Set;
/**
* A JSONObject is an unordered collection of name/value pairs. Its external
@ -1330,6 +1337,10 @@ public class JSONObject {
}
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

View file

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