К какому типу объекта или коллекции я должен привести свой объект json из динамически генерируемых полей - PullRequest
2 голосов
/ 04 апреля 2011

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

Это мой json:

({'1234567890_testID':"432342342", '0987654321_testID':"345353453"})

Значение для каждой записи будет сохранено для пользователя с идентификатором, который делаетдо префикса ключа _testID.Потенциально существуют и другие типы ключей, например: 1203048829_otherTestID.

Вот мой код:

Javascript:

var $testID = $('#testDIV input');
var testData = {};
    $testID.each(function(i, el) {
    testData[$(el).attr("id")] = $(el).val();
});
var params= $.extend({ "tableID" : "testTable" }, {"testData" : testData.toSource()});

 $.ajax({ "dataType": "json",
         "type": "put",
         "url": this.url,
         "data": params,
         "success": function(alert("Success!"))
 })

Подпись метода контроллера:

@RequestMapping(value="/test", method=RequestMethod.PUT)
public @ResponseBody String updateTest(@ModelAttribute final TestCriteria tc)

ModelAttribute bean:

public class TestCriteria {
  private Map<String, Object> testData;

getters and setters...
}

Параметры Firebug:

action  PUT
testData    ({'100540718367_testID':"432342342", '100540718371_testID':"252535345"})
tableID testTable

1 Ответ

0 голосов
/ 04 апреля 2011

это выглядит как Map<String,Long>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...