前提・実現したいこと
######Jsonファイルにfield, valueというペアの記述があるとデータを取ってこれるようなシステムを使っております。
######言語はScalaでJsonファイルを出力する処理を書いているのですが、必要なデータの分だけfield, valueという記述を繰り返し書いてしまっています。
######Jsonファイルを受け取るシステム側の値の受け取り方は変えずに、Scalaのソース上だけ繰り返しの記述をなくしたいです。
######Mapを使ってループ処理を書くといいというヒントは得たのですが、具体的な記述方法がわかりません。
######それ以外にも簡単な方法等あればご教授いただきたいです。
該当のソースコード
Scala
1 val table1 = ("{" + 2 "\"field\":\"要素1\", " + 3 "\"value\":\"%s\"}, " + 4 "{\"field\":\"要素2\", " + 5 "\"value\":\"%s\"}, " + 6 "{\"field\":\"要素3\", " + 7 "\"value\":\"%s\"}, " + 8 "{\"field\":\"要素4\", " + 9 "\"value\":\"%s\"}, " + 10 "{\"field\":\"要素5\", " + 11 "\"value\":\"%s\"}, " + 12 "{\"field\":\"要素6\", " + 13 "\"value\":\"%s\"}, " + 14 "{\"field\":\"要素7\", " + 15 "\"value\":\"%s\"}, " + 16 "{\"field\":\"要素8\", " + 17 "\"value\":\"%s\"}, " + 18 "{\"field\":\"要素9\", " + 19 "\"value\":\"%s\"}, " + 20 "{\"field\":\"要素10\", " + 21 "\"value\":\"%s\"}, " + 22 "{\"field\":\"要素11\", " + 23 "\"value\":\"%s\"}, " + 24 "{\"field\":\"要素12\", " + 25 "\"value\":\"%s\"}, " + 26 "{\"field\":\"要素13\", " + 27 "\"value\":\"%s\"}, " + 28 "{\"field\":\"要素14\", " + 29 "\"value\":\"%s\" " + 30 "}\r\n" 31 ).format(要素1, 要素2,要素3,要素4,要素5,要素6,要素7,要素8,要素9,要素10,要素11,要素12,要素13,要素14)
JSON
1"Table1": 2[ 3{"field":"要素1", "value":"xxxxxx"}, {"field":"要素2", "value":"xxxxxx"}, {"field":"要素3", "value":"xxxxxx"}, {"field":"要素4", "value":"xxxxxx"}, {"field":"要素5", "value":"xxxxxx"}, {"field":"要素6", "value":"xxxxxx"}, {"field":"要素7", "value":"xxxxxx"}, {"field":"要素8", "value":"xxxxxx"}, {"field":"要素9", "value":"xxxxxx"}, {"field":"要素10", "value":"xxxxxx"}, {"field":"要素11", "value":"xxxxxx"}, {"field":"要素12", "value":"xxxxxx"}, {"field":"要素13", "value":"xxxxxx"}, {"field":"要素14", "value":"xxxxxx" } 4 5]
試したこと
####Map処理のkeyに"field", valueに"value"としてループで文字列を組み立てるというのがヒントらしいのですが、アルゴリズムや基本的なメソッドが苦手なために具体的な記述ができていません。
####以下の要領で何かできないか試しているのですが、今だ解決に至りません。
Scala
1 val m = Map(1 -> "Apple", 2 -> "Banana", 3 -> "Chocolate") 2 3 for((key, value) <- m) 4 println("field:%s, value:%s".format(key, value)) 5 6//field:1, value:Apple 7//field:2, value:Banana 8//field:3, value:Chocolate
補足情報
####ソース中の"%s"の部分で最下の.formatの引数を取っていますString型で取得しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/04 10:30