Разбор вложенного NSDictionary в JSON и POST на сервер - PullRequest
0 голосов
/ 25 февраля 2020

Итак, у меня возникла проблема, когда мой сервер запрашивает JSON в формате:

{
  "offers" : [
  ],
  "branch_id" : 186,
  "payment_method" : "C",
  "cash_amount" : 17,
  "car_model" : "",
  "coupon_id" : 0,
  "car_color" : "",
  "timer" : 299,
  "brand_id" : 48,
  "items" : [
    {
      "id" : 1952,
      "options" : {
        "369" : [
          1044
        ],
        "370" : [
          1045
        ]
      },
      "quantity" : 1
    }
  ]
}

. Для этого формата требуется несколько вложенных NSDiconary & Arrays, что не проблема для меня, но когда я создайте этот формат и отправьте его на сервер, вот что я получаю:

[Object: null prototype] {
    branch_id: '186',
    brand_id: '48',
    car_color: '',
    car_model: '',
    cash_amount: '18',
    coupon_id: '0',
    'items[][id]': '1952',
    'items[][options][369][]': '1044',
    'items[][options][370][]': '1046',
    'items[][quantity]': '1',
    payment_method: 'C',
    timer: '299'
}

Я попытался разобрать его, используя:

NSData *data = [NSJSONSerialization dataWithJSONObject:finalOrder options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonOrder = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

, но я все еще получаю неправильный формат, такой как:

[Object: null prototype] {
branch_id: '186',
brand_id: '48',
car_color: '',
car_model: '',
cash_amount: '36',
coupon_id: '0',
'items[]': '{\n' +
'    id = 1952;\n' +
'    options =     {\n' +
'        369 =         (\n' +
'            1044\n' +
'        );\n' +
'        370 =         (\n' +
'            1046\n' +
'        );\n' +
'    };\n' +
'    quantity = 2;\n' +
'}',
payment_method: 'C',
timer: '299'
}

где ошибка? это на стороне клиента, или ошибка синтаксического анализа на стороне сервера?

...