でJSONオブジェクト例外:Find the maximum value from JSON data in ScalaないScalaの
私はスカラ座でのプログラミングに非常に新しいです、と述べたポスト内の1つの解決策の状態として、私は次のコードをテストしてい:
をimport collection.immutable.IndexedSeq
import com.google.gson.Gson
import com.google.gson.JsonObject
import com.google.gson.JsonParser
case class wrapperObject(val json_string: Array[MyJsonObject])
case class MyJsonObject(val id:Int ,val price:Int)
object Demo {
val gson = new Gson()
def main(args: Array[String])={
val json_string = scala.io.Source.fromFile("jsonData.txt").getLines.mkString
//val json_string= """{"json_string":[{"id":1,"price":4629},{"id":2,"price":7126},{"id":3,"price":8862},{"id":4,"price":8999},{"id":5,"price":1095}]}"""
val jsonStringAsObject= new JsonParser().parse(json_string).getAsJsonObject
val objectThatYouCanPlayWith:wrapperObject = gson.fromJson(jsonStringAsObject, classOf[wrapperObject])
var maxPrice:Int = 0
for(i <- objectThatYouCanPlayWith.json_string if i.price>maxPrice)
{
maxPrice= i.price
}
println(maxPrice)
}
}
私はラインで15 java.lang.IllegalStateExceptionを、次のエラーを取得しています:未JSONオブジェクト:
JSONファイルの内容は次のとおりです。
[{ "id":978,"price":2513},
{ "id":979,"price":8942},
{ "id":980,"price":1268},
{ "id":981,"price":5452},
{ "id":982,"price":5585},
{ "id":983,"price":9542}]
このエラーが表示される理由は不明です。どんな助けもありがとう。ありがとう。
ファイルに有効なjsonが含まれていません。 jsonData.txtの内容を共有してください。しかし、あなたの問題を強調するjsonフォーマッタをオンラインで検索します。 –
質問をJSONファイルの内容で編集しました。私はGSONを使って検索し、試しました。 – hshantanu
'.getAsJsonObject'ではなく' .getAsJsonArray'を使用していれば、あなたのコードがうまくいったと思います。 –