Przetwarzam ten ciąg za pomocą JSON.parseFull(). Metoda ta jest bardzo wygodne dla mnie, bo muszę dostać mapęCzy jest możliwe, aby Scala JSON.parseFull() nie traktować liczb całkowitych jako ułamków dziesiętnych?
val jStr = """{"wt":"json","rows":500}"""
println(JSON.parseFull(jStr))
Oto wynik:
Some(Map(wt -> json, rows -> 500.0)) // ´rows´ as Double
Chciałbym wrócić liczbą całkowitą zamiast podwójnej.
Some(Map(wt -> json, rows -> 500)) // ´rows´ as Integer
Czy to możliwe?
Jak źle! Oznacza to, że muszę traktować wszystkie liczby jako całkowite lub dziesiętne ... Dla przypadku, który napisałem jako przykład, jest OK, ale co, gdybym miał do czynienia z mieszanym przypadkiem liczb? Byłoby wspaniale, gdybym mógł uzyskać nie ułamkowe jako liczby całkowite i ułamkowe jako dziesiętne. Chyba nie mogę polegać na JSON.parseFull() i muszę napisać jakiś dodatkowy kod, aby uzyskać to, czego chcę. – Max
Niekoniecznie. Jeśli liczby zmiennoprzecinkowe mają zawsze kropkę, można napisać funkcję konwersji, która zwróciła wartość Float dla "100.0" i Int dla "100" –
Scala JSON link do dokumentacji Nie znaleziono. – Alaeddine