content: package com.alibaba.json.bvt.bug;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.JSONArray;
  import com.alibaba.fastjson.JSONObject;
  import junit.framework.TestCase;
  
  import java.util.List;
  
  /**
   * Created by wenshao on 09/12/2016.
   */
  public class Issue943 extends TestCase {
      public void test_for_issue() throws Exception {
          String text = "{\n" +
                  "\t\"symbols\":[\n" +
                  "\t    {\"id\":1,\"type\":\"SCATTER\"},\n" +
                  "\t    {\"id\":2,\"type\":\"BONUS\"}\n" +
                  "\t]\n" +
                  "}";
  
          JSONObject root = JSON.parseObject(text);
  
          JSONArray symbols = root.getJSONArray("symbols");
          assertNotNull(symbols);
          assertEquals(2, symbols.size());
          assertEquals(1, symbols.getJSONObject(0).get("id"));
          assertEquals("SCATTER", symbols.getJSONObject(0).get("type"));
  
          assertEquals(2, symbols.getJSONObject(1).get("id"));
          assertEquals("BONUS", symbols.getJSONObject(1).get("type"));
  
          SlotConfig slotConfig = JSON.parseObject(text, SlotConfig.class);
  
          assertNotNull(slotConfig);
          assertEquals(2, slotConfig.symbols.size());
          assertEquals(1, slotConfig.symbols.get(0).getId());
          assertEquals(SymbolType.SCATTER, slotConfig.symbols.get(0).getType());
  
          assertEquals(2, slotConfig.symbols.get(1).getId());
          assertEquals(SymbolType.BONUS, slotConfig.symbols.get(1).getType());
  
      }
  
      private static class SlotConfig {
          private List<Symbol> symbols;
  
          public List<Symbol> getSymbols() {
              return symbols;
          }
  
          public void setSymbols(List<Symbol> symbols) {
              this.symbols = symbols;
          }
      }
  
      private static class Symbol {
          private int id;
  
          private SymbolType type;
  
          public int getId() {
              return id;
          }
  
          public void setId(int id) {
              this.id = id;
          }
  
          public SymbolType getType() {
              return type;
          }
  
          public void setType(SymbolType type) {
              this.type = type;
          }
      }
  
      enum SymbolType {
          NORMAL, WILD, SCATTER, BONUS
      }
  }
  