2015-11-03 39 views
0

我試圖通過JSON傳遞一個值,我無法訪問。我們有一個數據結構(即明顯不是我建否則我可能會理解它)時發送到瀏覽器看起來是這樣的:在Scala中使用點符號訪問插入的字符串中的嵌套列表項

{Foo(Bar(List(Baz(List(G3),w))),G3,None)}

這是通過JSON寫入方法發送,但原始斯卡拉線看起來像:

val hint = Some(s"{$question}")其中$question的類型Foo

我用點符號來訪問,我想辦法將工作列表項的嘗試:

val hint = Some(s"{$question.Bar.Baz})" val hint = Some(s"{$question.Bar(0).Baz(0)"})

這是最深的G3我想帶出併發送,而是JSON對象通過自帶看起來像:

{Foo(Bar(List(Baz(List(G3),w))),G3,None)}.Bar.Baz{Foo(Bar(List(Baz(List(G3),w))),G3,None)}.Bar(0).Baz(0)

我必須從根本上失去了一些東西關於這裏涉及的數據結構。

回答

3

我想你只是使用錯誤的語法。該$需要拿出的{}前後{}是必要的任何表達的不僅僅是一個變量名更復雜:

s"${question.bar(0).baz(0)}" 
+0

,我認爲你是對的'$',但現在我得到一個編譯錯誤該酒吧不是foo的成員。看着JSON,我以爲是。 它之前編譯過,所以我實際上認爲這樣做更多的事實意味着我們在正確的軌道上。 – armadadrive

+0

所以這是基本正確的。編譯問題是,在Scala中,我引用了這些類,並且應該引用Foo的屬性名稱,它們的類型是Bar和Baz,但是具有與Foo屬性不同的名稱。 – armadadrive

相關問題