views:

34

answers:

2
JSON As Dictionary 
 {
    headers =     (
                {
            backGroundImageUrl = "";
            dataField = Name;
            headerText = Name;
            id = Name;
            itemRenderer = "";
            toolTip = "";
            width = 60;
        },
                {
            backGroundImageUrl = "";
            dataField = BidPrice;
            headerText = Bid;
            id = BidPrice;
            itemRenderer = "";
            toolTip = "Bid Price";
            width = 30;
        });
 values =     (
                {
            assetCellValueLst =             {
                AskColorCode = "#B8D1ED";
                AskPrice = "102.20";
                BidColorCode = "#B8D1ED";
                BidPrice = "102.00";
                Name = "AR Bonar 11";
                PECSAsk = 569;
                PECSChg = "(31)";
                PECSChgColorCode = "#000000";
                PriceChg = "0.00";
                PriceChgColorCode = "#000000";
                SOLAsk = 604;
                SSPAsk = 677;
                SSPChgDay = "+3";
                SSPChgDayColorCode = "#000000";
                YTMAsk = "6.97";
                assetGroupName = Argentina;
                assetId = ARBONAR11;
                iconPath = "images/flag_Argentina.gif";
                updated = false;
            };
            assetId = ARBONAR11;
        },
                {
            assetCellValueLst =             {
                AskColorCode = "#53840f";
                AskPrice = "84.00";
                BidColorCode = "#53840f";
                BidPrice = "83.75";
                Name = "AR Bod 15";
                PECSAsk = 945;
                PECSChg = 14;
                PECSChgColorCode = "#000000";
                PriceChg = "-0.10";
                PriceChgColorCode = "#53840F";
                SOLAsk = 985;
                SSPAsk = 1007;
                SSPChgDay = "+7";
                SSPChgDayColorCode = "#000000";
                YTMAsk = "11.74";
                assetGroupName = Argentina;
                assetId = ARBON15;
                iconPath = "images/flag_Argentina.gif";
                updated = false;
            };
            assetId = ARBON15;
        });

The above JSON has more headers and values shortened here for clarity. The assestCellValueLst Dictionary can have more or less key-value pair depending on business logic. Same is true for headers dictionary. How should I create a Object Model in Xcode to use it with Core Data Managed Objects ? for a non - persistent store or no store at all

A: 

Simplistically, you would just create an entity for each type of dictionary you wanted to persist and have an attribute for each key in the dictionary.

In this case it looks like you would have two entities: Header and Asset. If the headers have a one-to-relationship with assets you might have (pseudocode) entities like this:

Header{
    backGroundImageUrl = string;
    dataField = string;
    headerText = string;
    id = string;
    itemRenderer = ?;
    toolTip = ?
    width = integer;
    asset<--(required,cascade)-->Asset.header
}

Asset{
    assetId = string;
    askColorCode = string;
    askPrice = float;
    bidColorCode = string;
    bidPrice = float;
    //...etc
    header<--(required,nullify)-->Header.asset
}

The basic idea is that the model, well, "models" whatever real world object, event, condition or information you want to persist. In this case, the JSON is providing nice, neat dictionaries with all the data already organized and labeled for you.

TechZen
@techZen thank you very much
A: 
my model has headers as an entity, and values as an entity with assestCellValueLst as one to one relationship with values, i am getting all header key values as nil except for uniqueID, i had to do that as id was taken as an reserved word and was creating problems for me ...