Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala格式化程序无法序列化区分大小写的json字符串_Json_Scala - Fatal编程技术网

scala格式化程序无法序列化区分大小写的json字符串

scala格式化程序无法序列化区分大小写的json字符串,json,scala,Json,Scala,我为一个读写为json的类编写了自己的play.api.libs.json.Format 我的目标是构建以下类: WallpaperItem(title:String, filename:String, tileSize:Option[String], url:Option[String]) JSON格式化程序如下所示: val wallpaperItemFormat= new Format[WallpaperItem] { def writes(data: WallpaperItem):

我为一个读写为json的类编写了自己的play.api.libs.json.Format

我的目标是构建以下类:

WallpaperItem(title:String, filename:String, tileSize:Option[String], url:Option[String])
JSON格式化程序如下所示:

val wallpaperItemFormat= new Format[WallpaperItem] {
 def writes(data: WallpaperItem): JsValue = {
  Json.obj(
      "title" -> data.title,
      "filename" -> data.filename,
      "tileSize" -> data.tileSize,
      "url" -> data.url
      )}
def reads(json: JsValue): JsResult[WallpaperItem] = {
  JsSuccess(new WallpaperItem(
      (json \ "title").as[String],
      (json \ "filename").as[String],
      (json \ "tileSize").as[Option[String]], 
      (json \ "url").as[Option[String]]
   ))}
} 
调试中的JSON字符串为:

{
    "title": "MILANO STRIA",
    "filename": "MS21-74.jpg",
    "tileSize": 32,
    "url": "http://www.koroseal.com/images/designs_large/MS21-74.jpg"
}

您尝试格式化的json是Int,您尝试将其读取为字符串。 你应该做: 将壁纸项目更改为具有瓷砖大小:选项[Int] 或者在构造WallperItem对象之前将可选Int转换为可选字符串