Сохранение массива значений ключа в компактной строке JSON

Я хочу сохранить массив элементов значений ключа, обычный способ сделать это может быть примерно таким:

// the JSON data may store several data types, not just key value lists,
// but, must be able to identify some data as a key value list

// --> more "common" way to store a key value array
{
  [
    {"key": "slide0001.html", "value": "Looking Ahead"},
    {"key": "slide0008.html", "value": "Forecast"},
    {"key": "slide0021.html", "value": "Summary"},
    // another THOUSANDS KEY VALUE PAIRS
    // ...
  ],
  "otherdata" : { "one": "1", "two": "2", "three": "3" }
}

Но, когда есть много пар / элементов, длина строки становится запрещенной, и мне нужен компактный способ, это может быть пример:

// --> (1) a "compact" way to store a key value array
{    
  [
      {"slide0001.html", "Looking Ahead"},
      {"slide0008.html", "Forecast"},
      {"slide0021.html", "Summary"},
      // another THOUSANDS KEY VALUE PAIRS
      // ...
  ],
  "otherdata" : { "one": "1", "two": "2", "three": "3" }
}

Кроме того, мне нужен способ идентифицировать данные как массив ключевых значений, потому что я могу захотеть хранить другие данные в том же файле JSON. У меня есть такие примеры:

// --> (2) a "compact" way to store a key value array    
{
    "keyvaluelist":
    [
      {"slide0001.html", "Looking Ahead"},
      {"slide0008.html", "Forecast"},
      {"slide0021.html", "Summary"},
      // another THOUSANDS KEY VALUE PAIRS
      // ...
    ],
    "otherdata" : { "one": "1", "two": "2", "three": "3" }
}

// --> (3) a "compact" way to store a key value array    
{
    "mylist":
    {
      "type": "keyvaluearray",
  "data":
    [
        {"slide0001.html", "Looking Ahead"},
        {"slide0008.html", "Forecast"},
        {"slide0021.html", "Summary"},
                    // another THOUSANDS KEY VALUE PAIRS
                    // ...
    ]
    },
    "otherdata" : { "one": "1", "two": "2", "three": "3" }
}

Что вы думаете, какой из них вы предлагаете, у вас есть другой способ? Спасибо.

ОБНОВЛЕНИЕ 1: Удалить недопустимый код. Javascript => JSON

ОБНОВЛЕНИЕ 2: Добавить данные, не являющиеся ключевыми значениями

ОБНОВЛЕНИЕ 3: Заменить "[" и "]" на "{" и "}" в каждой паре значений ключа

17
задан umlcat 9 October 2013 в 03:50
поделиться