java - 如何检查json中的空元素
问题描述
scala/java 中是否有任何方法可以评估 JSON 中的所有项目是否为空?
我想要一个验证器,避免在 json 中包含具有空值的项目,例如:
[{"elem1":"","elem2":"","elem3":"a"}]
其中前两个元素为空。
解决方案
使用播放 JSON:
import play.api.libs.json._
def hasEmptyValue(json: JsValue): Boolean = {
json match {
case _: JsBoolean => false
case _: JsNull => false // could also be true, depending on your definition
case _: JsNumber => false
case JsArray(jsons) =>
if (jsons.nonEmpty) jsons.filter(isEmptyJson).nonEmpty
else true
case JsObject(kvs) =>
if (kvs.nonEmpty) kvs.values.filter(isEmptyJson).nonEmpty
else true
def jsonStringHasEmptyValue(str: String): Boolean =
hasEmptyValue(Json.parse(str))
推荐阅读
- c# - 我应该在多个按钮上统一使用单个脚本,还是为每个按钮创建一个脚本?
- android - 如何使用 NestedScrollView 制作工具栏透明 ImageView
- javascript - 如何让网页认为其图像已完成加载?
- c# - cefsharp如何检查页面中的所有java脚本是否完成?
- themes - 扩展默认模板 Odoo 12
- python - 使用 datetype 从 pandas 列绘制直方图
- c++ - 波函数的相互正交性 - 犰狳
- c++ - 在 cmake 中启用 Qspectre 和 Control Flow Guard 开关
- mysql - Flask + MySQL + PHP + Docker-Compose = 痛苦
- sql-server - 如何在 SQL Server 中添加和更新列中的值