2015-05-09 469 views
2

很簡單的問題。如何在json中存儲多個值?

我想學習聚合物並進行了一項調查。 對於其中一個問題,我想分配多個值作爲答案,但由於某種原因,我只能使用一個值來處理它。

"survey": [ 

     { 
      "type": "picker", 
      "question": "Please rate out of 5", 
      "min": 1, 
      "max": 5, 
      "answer": 5 
     }, 

當用戶選擇5時,返回肯定結果,但當用戶選擇1-4時,返回肯定結果,但不正確。

我想要做的是在'答案'字段中存儲多個值,以便如果用戶選擇1-5,他們都註冊爲正確的。

我該怎麼做?我曾嘗試

[1, 2, 3, 4, 5]

,它仍然無法正常工作。

編輯:

這裏是聚合物創建滑塊添加的值html。

<paper-slider id="slider" min="{{quiz.min}}" max="{{quiz.max}}" step="{{quiz.step || 1}}" immediateValue="{{value}}"></paper-slider> 
+0

你嘗試' 「答案」:[1,2,3,4,5]'? – Zee

+0

是的大聲笑我列出了我的描述,謝謝。 – user3648969

+0

你如何比較答案? –

回答

1

您可以存儲'answer'作爲JSON數組一樣

 var survey = { 
      "type": "picker", 
      "question": "Please rate out of 5", 
      "min": 1, 
      "max": 5, 
      "answer": [1,2,3] 
     } 

而且只要用戶輸入的東西,你只需要推動這樣

console.log(survey); // Array has just 3 elements. 
survey['answer'].push(4); 
console.log(survey); // The value 4 would have been inserted. 

值你好嗎推動價值?

看那 Fiddle Link

+0

嘿,謝謝你的迴應。 不幸的是,這兩個選項都不起作用:/ 當我嘗試使用它們中的任何一個時,用戶輸入的所有值仍然返回負值。 當我只輸入一個值,即。 5 它工作正常 – user3648969

+0

看看我的edt。如果用戶選擇多個選項,您如何推送元素? – Abhinav

+0

再次嗨!用戶實際上是在從1 - 5左右滑動的滑塊上選擇它。因此,用戶一次只能選擇一個選項/值。 我已經嘗試了您的代碼,但它仍然沒有返回任何正確的值。當我輸入5或4或任何單個值時,它將回答正確。當我輸入多個值時,如數組中顯示的那樣,所有這些值都是不正確的。:( – user3648969

1

好像它可能工作使用的子元素。

"survey": [ 
    { 
     "type": "picker", 
     "question": "please rate out of 5", 
     "answer": [ 
      { 
       value: "1", 
       value: "2", 
       value: "3", 
       value: "4", 
       value: "5", 
      } 
     ] 
    } 
] 

參考:https://www.polymer-project.org/0.5/docs/polymer/binding-types.html

+0

我已經試過這個答案,但它似乎正在得到某種語法錯誤 這是一個截圖的代碼http://imgur.com/ EWdBIeW – user3648969