Лучший формат JSON для разработчиков пользовательского интерфейса - PullRequest
1 голос
/ 01 сентября 2010

Какой лучший формат для объекта JSON для использования в общих гридах? Я знаю, что это субъективный вопрос.

Я пишу метод для возврата объекта JSON для представления некоторых наших данных на стороне сервера. Я провел последние пару дней, пытаясь вписать объект JSON в представление, в частности jqGrid, я собирался продемонстрировать, как он может работать в реальном мире. Но к моему удивлению я обнаружил, что пользовательские интерфейсы на стороне клиента не очень интуитивны и не настраиваются. Поэтому, возможно, мне следует изменить формат моего объекта JSON, чтобы он лучше подходил для пользовательского интерфейса!

Вот тип структуры, которую будут использовать мои объекты JSON. Есть ли лучший способ? Как вы увидите, в моей структуре есть несколько вложенных объектов.

{
    "Name": "Entity1",
    "Fields": {
               "field1": "22",
               "fieldString1": "init"
               },
     "Children": [
                  {
                     "Name": "ChildEntity",
                     "Fields": {
                               "fieldString2": "init",
                               "c_field1": "22"
                             },
                     "Children": [
                                ]
                   },
                    {
                      "Name": "ChildEntity2",
                      "Fields": {
                                "c2fieldString2": "",
                                 "c2field1": "22"
                                },
                      "Children": [
                                   ]
                     }
     ]
}

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Запустите ваш json через JSONLint на http://jsonlint.com/. Не только ваш код json будет проверен, но и отформатирован.Отступы JSONLint с 4 пробелами.

{
    "Name": "Entity1",
    "Fields": {
        "field1": "22",
        "fieldString1": "init"
    },
    "Children": [
        {
            "Name": "ChildEntity",
            "Fields": {
                "fieldString2": "init",
                "c_field1": "22"
            },
            "Children": []
        },
        {
            "Name": "ChildEntity2",
            "Fields": {
                "c2fieldString2": "",
                "c2field1": "22"
            },
            "Children": []
        }
    ]
}
1 голос
/ 01 сентября 2010

Новая строка для каждого элемента массива или пары ключ-значение объекта. Отступы с фиксированным 2^k, k integer, k <- [0,4) (1, 2, 4 или 8) пробелами на уровень отступа.

{
    "key1": "value1",
    "key2": 3,
    "key3": [
        false,
        9,
        [ ],
        { },
        {
            "key4": {
                "key5": "value5"
            }
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...