-1

编辑:像这样的东西,但这也不起作用,但我认为存在问题

var stringifyObj = JSON.stringify({
      "addressAddressId":$('#address').val(){ 
          "cityId:"$('#city').val(){
                "postalCode":$('#postalCode').val() 
           } 
      }
});     

*当我在 Netbeans 中生成测试客户端时,JSON 结构 (GET/JSON) 就是这样,但我如何使用 Javascipt 和 Strinfy-function 进行编码?*

    "addressAddressId": {
        "addressId": 1,
        "address": "Järnvägen 2",
        "address2": null,
        "district": null,
        "postalCode": "20360",
        "phone": null,
        "coordinates": null,
        "latitude": null,
        "longitude": null,
        "directions": null,
        "description": null,
        "addrZipCityCountry": null,
        "lastUpdated": 1361754860000,
        "cityId": {
            "cityId": 1,
            "city": "",
            "lastUpdate": 1361754850000,
            "countryCountryId": {
                "countryId": 1,
                "country": "Sweden",
                "lastUpdate": 1361754837000
            }
        }
    },

问题

  1. 在地址对象内部使用自己的对象类型(如 City-object)时使用 JSON.stringify 时的正确语法是什么?
  2. 如果不使用@JsonIgnoreProperties({""}),我应该将每个字段都添加到 json 中吗?我只需要地址、城市和邮政编码。地址是在服务器端带有字段字符串地址的地址类型,城市是城市类型,包括城市名称的字符串字段等。
4

2 回答 2

2

我不确定你想用上面的 Javascript 函数做什么,但如果你的目标是使用 Javascript 生成具有这种结构的 JSON,也许你可以试试这个:

var stringifyObj = JSON.stringify({
  "addressAddressId": {
    "addressId": 1,
    "address": "Järnvägen 2",
    "address2": null,
    "district": null,
    "postalCode": "20360",
    "phone": null,
    "coordinates": null,
    "latitude": null,
    "longitude": null,
    "directions": null,
    "description": null,
    "addrZipCityCountry": null,
    "lastUpdated": 1361754860000,
    "cityId": {
        "cityId": 1,
        "city": "",
        "lastUpdate": 1361754850000,
        "countryCountryId": {
            "countryId": 1,
            "country": "Sweden",
            "lastUpdate": 1361754837000
        }
    }
  }         
}); 

基本上,您需要做的就是将 JSON 字符串包装为JSON.stringify.

或者,如果您需要逐步构建对象,而不是像上面那样一次提供所有属性,也许您可​​以试试这个:

var obj = {};
//add properties as needed
//simple properties
obj.addressId = 1;
obj.address = "Järnvägen 2";
obj.address2 = null;
//nested properties
obj.cityId = {};
obj.cityId.cityId = 1;
obj.cityId.countryCountryId = {};
obj.cityId.countryCountryId.countryId = 1;

正确填充所有对象属性后,将其传递给JSON.stringify这样的:

var stringifyObj = JSON.stringify(obj);

或者,要生成示例中描述的 JSON,您可以进一步包装obj如下:

var stringifyObj = JSON.stringify({ addressAddressId = obj });

我希望你能明白:)

于 2013-02-26T02:29:10.870 回答
0

而且您在这里缺少逗号,尽管我不能说这是您的问题。

"postalCode": {
    "postalCode": $('#postalCode').val()
} <--- need comma here

"addressAddressId": {
于 2013-02-25T03:56:58.183 回答