質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Q&A

解決済

2回答

2849閲覧

jsonを動かしたいのに、import文のエラーが解けない

scalabiginner

総合スコア7

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

0グッド

1クリップ

投稿2020/02/04 10:17

編集2020/02/04 15:07

前提・実現したいこと

import文がエラーなので、プログラムが動きません。
このエラーを直すのに1週間かけましたが、進展がありません。
本当に初心者なので何度も質問を返すかもしれませんが、よろしくお願いいたします

発生している問題・エラーメッセージ

C:\Users\xxx\scala-2.9.3\src\untitled\src\json.scala
Error:(16, 1) expected class or object definition
val text = """{ "x":10, "y":20 }""";
Error:(17, 1) expected class or object definition
val result : Option[JSONType] = JSON.parseRaw(text);
Error:(18, 1) expected class or object definition
val jo : JSONObject = result.get.asInstanceOf[JSONObject];
Error:(19, 1) expected class or object definition
val map : Map[String, Option[Any]]
Error:(22, 1) expected class or object definition
println (map.get("x").get);A
Error:(22, 28) expected class or object definition
println (map.get("x").get);A

該当のソースコード

import scala.util.parsing.json.JSON;
import scala.util.parsing.json.{JSONObject, JSONArray, JSONType}; // added for not found error

/*val json : Object[Any] = JSON.parseFull("""
{
"key1" : "string",
"key2" : 20,
"key3" : ["Array",1],
"key4" : {
"key5" : "hoge"
}
}
""")
*/

val text = """{ "x":10, "y":20 }""";
val result : Option[JSONType] = JSON.parseRaw(text);
val jo : JSONObject = result.get.asInstanceOf[JSONObject];
val map : Map[String, Option[Any]]
= jo.obj.asInstanceOf[Map[String, Option[Any]]];

println (map.get("x").get);A

試したこと

scala import errorで調べると、「"build.sbt"を書き換えるといいよ」という記事を読み、試してみましたが動きません。
現在のbuild.sbt の中身
name := "src"

version := "0.1"

scalaVersion := "2.13.1"

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"

unmanagedBase := baseDirectory.value / "libs"

補足情報(FW/ツールのバージョンなど)

intellij idea にて scalaを書いています。
.msi のsbt1.3.7 というプログラムをインストールしてあります。
import scala.util.control.Breaks
というインポート文は動くので、すべてのインポート文が動かないというわけではないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rysh

2020/02/04 12:09

build.sbtの内容も見せてもらわないとなんとも言えないですね。 あと、Scalaの最新バージョンはいま2.13なのでscala-2.9.3というフォルダ名がとても不穏な感じがします。
scalabiginner

2020/02/04 15:10

内容を更新しました。 また、scala-2.13.1.msiをインストールし直しました しかし実行結果に変化はありません。
guest

回答2

0

ベストアンサー

こうしてみてください

Scala

1object Main extends App { 2val text = """{ "x":10, "y":20 }"""; 3val result : Option[JSONType] = JSON.parseRaw(text); 4val jo : JSONObject = result.get.asInstanceOf[JSONObject]; 5val map : Map[String, Option[Any]] 6= jo.obj.asInstanceOf[Map[String, Option[Any]]]; 7 8println (map.get("x").get); 9}

投稿2020/02/06 01:37

rysh

総合スコア874

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scalabiginner

2020/02/07 10:06

無事動くようになりました!ご教授ありがとうございます!
guest

0

今出てるエラーの内容はimportとは関係ないです。
初心者だということですが、トップレベルにそのままコードを書いてませんか?

投稿2020/02/04 18:29

yudedako67

総合スコア2047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問