2017-03-01 3 views
1

ich dies als ein Array angenommen und ichwie diese Probe von json zu analysieren

getippt
_price1=[venues valueForKey:@"price_total”]; 

ich diesen einen einen Ausgang bekam, erwartete ich 6 als die Zählung zu erhalten, wenn ich dieses

NSLog(@"%lu", (unsigned long)_price1.count); 
getippt

Tatsache ist, dass ich 1 als die Ausgabe für die Zählung bekam.

(
    (
    772, 
    912, 
    912, 
    912, 
    912, 
    935 
) 
) 

Mein Zweifel ist, wie kann ich es analysieren, so dass der Ausgang ein array.Do sagen, ist mir die Bedeutung zu() [diese Klammern], wenn json betrachtet wird.

mein Code

Ok mein Code:

-(void)initialize{ 

id venues = [[_json valueForKey:@"hotels_prices"]valueForKey:@"agent_prices”]; 

_price1=[venues valueForKey:@"price_total"];//global array... 
NSLog(@"%@", _price1); 
NSLog(@"%lu", (unsigned long)_price1.count);} 

json ist: Das ist (id Spielstätten) gemäß dem Code

(

     (

     { 

     id = 146; 
     "price_per_room_night" = 158; 
     "price_total" = 944; 
     "room_offers" =    (  //problem 
          { 
       available = 0; 
       "meal_plan" = "Room only"; 
       "policy_dto" =      { 
       }; 
       rooms =      (
              { 
         adults = 0; 
         children = 0; 
         type = "Double room"; 
         "type_id" = "ROOMTYPE_DOUBLE"; 
        } 
       );//problem 
      }, 

// sehen, dass Klammern() ; ist das Problem

+0

Wir müssen wirklich die Eingabe sehen, um etwas Sinnvolles darüber zu sagen, warum Ihr Code nicht funktioniert. Es würde auch nicht weh tun, deinen Code zu zeigen! – wander

+0

Yeah man, willkommen auf stackoverflow :) Stellen Sie sicher, dass Sie Ihre Frage immer noch einmal lesen und sich in eine Position versetzen, in der Sie völlig aus dem Zusammenhang geraten sind (unsere Position). Wenn Sie nicht genug Informationen haben, bedeutet das, dass Sie Ihre Frage bearbeiten müssen. Gerade jetzt müssen Sie uns den JSon zeigen, über den Sie sprechen, und genau, wie Sie damit arbeiten. –

+0

Ok, mein Code ist - (void) initialisieren { id locations = [[_json valueForKey: @ "hotels_prices"] valueForKey: @ "agent_prices"]; _price1 = [Veranstaltungsorte valueForKey: @ "price_total"]; // globales Array ... NSLog (@ "% @", _price1); NSLog (@ "% lu", (unsigned lang) _price1.count); } – Kaustubh

Antwort

0

Yep! Ich habe die Antwort bekommen, als Matt den Klammern() sagte; sollte als ein Array

die

id venues = [[_json valueForKey:@"hotels_prices"]valueForKey:@"agent_prices”]; 

gibt dem oben json

behandelt werden, aber wenn ich den Speiseplan

NSArray*meal=[[_json valueForKey:@"room_offers"]valueForKey:@"meal_plan”]; 

Dann kann ich geben zu wollen:

NSArray*meal_plan=[meal objectAtIndex:0];//or any other index not beyond the array limit.. 

Wir können die gewünschte Ausgabe erhalten und das Array Mahlzeit kann normal geparst werden.

Verwandte Themen