【发布时间】:2017-01-31 08:52:44
【问题描述】:
使用 gson,我使用这种繁琐的方法来确保所需的属性具有所需的值:
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ScratchSpace {
public static void main(String[] args) {
// create json object from source data - in my real code, this is sourced externally
JsonObject json = new JsonParser().parse("{ \"product\": \"foobar\"}").getAsJsonObject();
// does this object have a key called product, which is a string, and equal to our expected value?
boolean correctProduct = false;
if (json.has("product")) {
JsonElement productElement = json.get("product");
if (productElement.isJsonPrimitive()) {
String product = productElement.getAsString();
if ("foobar".equals(product)) {
correctProduct = true;
}
}
}
System.out.println("correctProduct = " + correctProduct);
}
}
我几乎可以肯定我做得不够理想。是否有一个简单、易读、简短的单行代码来实现相同的目标?
编辑:如果可能,我想继续使用 gson。
【问题讨论】:
-
你看过像github.com/jayway/JsonPath这样的查询库吗?
-
我最近在
gson中寻找相同的功能,但没有找到