2016-02-28 3 views
1

Я хав объектов JavaScript, что им проходящих обратно в Java с помощью AJAX:Java синтаксического анализа объект

var jsonData = { 
     "testJson" : "abc", 
     "userId" : "123" 
}; 

Когда я Println карты он выглядит следующим образом:

key: jsondata value:[object Object] 

Как правильно разобрать объект ?

+0

Чтения о разборе объектов JSon – Jens

+0

не включают ничего, кроме объекта, в строку, которую вы передаете в java. '{...}' – Sebas

+1

Является ли это вопросом javascript или java? В javascript опубликованный код определяет объект, называемый 'jsonData'. Это необходимо преобразовать в строку (используя 'JSON.stringify') перед тем, как вернуться к серверу. – traktor53

ответ

1

Вы можете использовать GSON в Java:

class MyObject() { 
    String testJson; 
    String userId; 

    public void setTestJson(String testJson) { 
    this.testJson=testJson; 
    } 
    public String getTestJson() { 
    return testJson; 
    } 
    ... Same for userId 
} 

And then create a GSON object: 

class SomeClass { 
    public void parseMyJson(String json) { 
    Gson gson=new Gson(); 
    MyObject mo=gson.fromJson(json,MyObject.class); 
    } 
} 

В которой mo теперь содержит вам JSon объект только с использованием геттеров и сеттеры

0

Как указано, код определяет объект javascript под названием jsonDat а. Это может быть преобразовано в строку (с использованием JSON.stringify) перед передачей на сервер:

var jsonData = { 
    "testJson" : "abc", 
    "userId" : "123" 
}; 
var jsonString = JSON.stringify(jasonData); 

или же в тривиальных случаях, определив строку JSON непосредственно:

var jsonString = `{"testJson" : "abc", "userId" : "123" }';