0

私が必要なもの

 "sampleId":"[{\"TextVal\":\"10233\"}]"

私が持っている場所

    NSDictionary *sampledict=@{@"TextVal": @"10233"};
    NSArray *arr=[NSArray arrayWithObject:sampledict];
    [dict setObject:arr forKey:@"sampleId"];

しかし、これをjsonテキストに変換すると、

   "sampleId":[{TextVal:10233}]

として値を取得する方法はあります{\"TextVal\":\"10233\"}か? これは、次のコンテンツを含む POST データを使用した Web サービス呼び出し用です。これを除外すると、Web サービスは Bad request エラーを返します \ .したがって、要件

AFNetworkingネットワークデータフェッチの目的で使用していることに注意してください

4

1 に答える 1

2

それは「ネストされたJSON」のように見えます。最初に配列の JSON データを作成し arr、それを外部ディクショナリに入れる必要があります。次に、完全なオブジェクトの JSON データを作成します。

NSDictionary *sampledict = @{@"TextVal": @"10233"};
NSArray *arr = [NSArray arrayWithObject:sampledict];
NSData *innerJson = [NSJSONSerialization dataWithJSONObject:arr options:0 error:NULL];
NSString *innerJsonString = [[NSString alloc] initWithData:innerJson encoding:NSUTF8StringEncoding];

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:innerJsonString forKey:@"sampleId"];

NSData *json = [NSJSONSerialization dataWithJSONObject:dict options:0 error:NULL];
NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonString);

出力:

{"sampleId":"[{\"TextVal\":\"10233\"}]"}
于 2013-11-04T06:27:55.990 に答える