How to have a switch with many buttons displaying symbols instead of numbers but in arbitrary order?

Hello,

I have a switch with 20 rows of 10 buttons. Until now my buttons were displaying numbers, the values field being coded like this:

{
"1":1, 
"2": 2, 
...
"200": 200
}

Now I have made a custom font with symbols to replace the displayed numbers. The font is set in the CSS field. So, for instance the values could be like this:

{
"a":1, 
"2": 2, 
"(": 3, 
...
"1": 200
}

However O-S-C automatically reorders the entries according to what is surrounded by quotes. So this results in this:

{
"1":200, 
"2": 2,
...
"a": 1, 
...
"(": 3,
...
}

I've seen this thread, which could provide a solution but:

  1. I don't know how to use it with entries such as "abc": n. Should I use two tables in parallel? How?
  2. Should I insert all the code in the values field?

Thank you.

The problem is only related to using numbers as keys (the other keys are ordered normally), you can fix it by forcing the numbers to strings with spaces:

{
  "a": 1,
  " 1 ": 2
}
1 Like

note that @jean-emmanuel has set one space before and after the value to keep the label to correctly get centered :slight_smile:

@amundsen a little (yellow) summary
switch_and_labels_examples.json (13.0 KB)

1 Like

Actually one must be careful not to have the same character chain between quotes for several entries.

For instance, I wanted "p": 78 and "p":79 and the second entry has been deleted.

"p": 78 and " p":79 (with a space before the "p" in one of the chains) seems to function.

And now for some unknown reason, all the buttons of the switch are displayed on a single column instead of a 10-columns grid. What's wrong?

This is the current state of my values field:

{
" â ": 1,
" 2 ": 2,
" 3 ": 3,
" 4 ": 4,
" 5 ": 5,
" 6 ": 6,
" 7 ": 7,
" 8 ": 8,
" 9 ": 9,
" 10 ": 10,
" w ": 11,
" Y ": 12,
" 13 ": 13,
" 14 ": 14,
" 15 ": 15
" 16 ": 16,
" 17 ": 17,
" 18 ": 18,
" 19 ": 19,
" 20 ": 20,
" 21 ": 21,
" 22 ": 22,
" 23 ": 23,
" 24 ": 24,
" 25 ": 25,
" 26 ": 26,
" 27 ": 27,
" 28 ": 28,
" 29 ": 29,
" 30 ": 30,
" 31 ": 31,
" 32 ": 32,
" 33 ": 33,
" 34 ": 34,
" 35 ": 35,
" 36 ": 36,
" 37 ": 37,
" 38 ": 38,
" 39 ": 39,
" 40 ": 40,
" 41 ": 41,
" 42 ": 42,
" 43 ": 43,
" 44 ": 44,
" 45 ": 45,
" 46 ": 46,
" 47 ": 47,
" 48 ": 48,
" 49 ": 49,
" 50 ": 50,
" 51 ": 51,
" 52 ": 52,
" 53 ": 53,
" 54 ": 54,
" 55 ": 55,
" 56 ": 56,
" 57 ": 57,
" 58 ": 58,
" 59 ": 59,
" 60 ": 60,
" 61 ": 61,
" 62 ": 62,
" 63 ": 63,
" 64 ": 64,
" 65 ": 65,
" 66 ": 66,
" 67 ": 67,
" 68 ": 68,
" 69 ": 69,
" 70 ": 70,
" 71 ": 71,
" 72 ": 72,
" 73 ": 73,
" 74 ": 74,
" 75 ": 75,
" 76 ": 76,
" , ": 77,
" p ": 78,
"p": 79,
" 80 ": 80,
" 81 ": 81,
" 82 ": 82,
" 83 ": 83,
" 84 ": 84,
" 85 ": 85,
" 86 ": 86,
" 87 ": 87,
" 88 ": 88,
" 89 ": 89,
" 90 ": 90,
" 91 ": 91,
" 92 ": 92,
" 93 ": 93,
" 94 ": 94,
" 95 ": 95,
" 96 ": 96,
" 97 ": 97,
" 98 ": 98,
" 99 ": 99,
" 100 ": 100,
" 101 ": 101,
" 102 ": 102,
" 103 ": 103,
" 104 ": 104,
" 105 ": 105,
" 106 ": 106,
" 107 ": 107,
" 108 ": 108,
" 109 ": 109,
" 110 ": 110,
" 111 ": 111,
" 112 ": 112,
" 113 ": 113,
" 114 ": 114,
" 115 ": 115,
" 116 ": 116,
" 117 ": 117,
" 118 ": 118,
" 119 ": 119,
" 120 ": 120,
" 121 ": 121,
" 122 ": 122,
" 123 ": 123,
" 124 ": 124,
" 125 ": 125,
" 126 ": 126,
" 127 ": 127,
" 128 ": 128,
" 129 ": 129,
" 130 ": 130,
" 131 ": 131,
" 132 ": 132,
" 133 ": 133,
" 134 ": 134,
" 135 ": 135,
" 136 ": 136,
" 137 ": 137,
" 138 ": 138,
" 139 ": 139,
" 140 ": 140,
" 141 ": 141,
" 142 ": 142,
" 143 ": 143,
" 144 ": 144,
" 145 ": 145,
" 146 ": 146,
" 147 ": 147,
" 148 ": 148,
" 149 ": 149,
" 150 ": 150,
" 151 ": 151,
" 152 ": 152,
" 153 ": 153,
" 154 ": 154,
" 155 ": 155,
" 156 ": 156,
" 157 ": 157,
" 158 ": 158,
" 159 ": 159,
" 160 ": 160,
" 161 ": 161,
" 162 ": 162,
" 163 ": 163,
" 164 ": 164,
" 165 ": 165,
" 166 ": 166,
" 167 ": 167,
" 168 ": 168,
" 169 ": 169,
" 170 ": 170,
" 171 ": 171,
" 172 ": 172,
" 173 ": 173,
" 174 ": 174,
" 175 ": 175,
" 176 ": 176,
" 177 ": 177,
" 178 ": 178,
" 179 ": 179,
" 180 ": 180,
" 181 ": 181,
" 182 ": 182,
" 183 ": 183,
" 184 ": 184,
" 185 ": 185,
" 186 ": 186,
" 187 ": 187,
" 188 ": 188,
" 189 ": 189,
" 190 ": 190,
" 191 ": 191,
" 192 ": 192,
" 193 ": 193,
" 194 ": 194,
" 195 ": 195,
" 196 ": 196,
" 197 ": 197,
" 198 ": 198,
" 199 ": 199,
" 200 ": 200
}

At some point I thought it was because there was a comma in one of the chains, but replacing it with another character such as a letter doesn't solve the issue.

You forgot a coma here

" 15 ": 15
1 Like

Palsambleu! Merci @jean-emmanuel!