jsonblackberry-10blackberry-simulatorblackberry-eclipse-pluginblackberry-qnx

Parsing JSON in Qt C++ blackberry 10


This is My JSON text from any URL http://www.example.com/json.php

Please can any one tell me how do I parse this json and put it in an Array so that it can be modal on customized ListView?

Let me tell you that I am new to Blackberry development previously iOS developer.

I have checked this link, but not able to run it .

If any one have any complete solution(example or usage) please help me.

I downloaded the sample of JSON from developer.blackberry.com, but not able to run .

I also posted that question at this link

{
    "status": "success",
    "result": [
        {
            "offer_id": "456",
            "member_id": "648",
            "offer_type": "printable",
            "cat_name": "Health & Wellbeing",
            "price": "50",
            "discount": "20% Off.",
            "title": "20% Off",
            "quantity": "200",
            "details": "Enjoy 20% Off any Service.",
            "coupon_code": "45600010106",
            "company_logo": "http://beta/files/offers/logos/",
            "offer_image": "http://beta/files/offers/images/f4d118737e_image_456.jpg",
            "bc_image": "http://beta/files/offers/qrcodes/qrcouponid_45600010106.png",
            "company_address1": "Oud Metha - Mohammed Saeed Hareb Bldg. Opp. American Hospital",
            "company_address2": "Not Available",
            "company_city": "Not Available",
            "company_phone": "04 357 6738 Mob: 509284567",
            "location": "Oud Metha",
            "company_name": "Golden House Gents Spa Club",
            "merchant_name": "Golden House Gents Spa Club",
            "url": "http://google.com",
            "date_end": "2013/12/30",
            "date_start": "2013/07/25",
            "condition": "1. Cannot be Combined with any other offer.\r\n2. Advance booking required.\r\n3. This Voucher must be Mentioned during time of Booking.\r\n4. Not Valid on Thurs & Sat.\r\n5. Expires 31st December 2013.",
            "rating": "0",
            "latitude": "25.2374",
            "longitude": "55.3117"
        }
    ]
}

Solution

  • It's all explained in the documentation of JsonDataAccess. You'll have to do something like this:

    // Create a data model with sorting keys for title
    GroupDataModel *model =
      new GroupDataModel(QStringList() << "title");
    
    // Load the JSON data
    JsonDataAccess jda;
    QVariant list = jda.load("yourfile.json")["result"].toVariantList();
    
    // Add the data to the model
    model->insertList(list.value<QVariantList>());
    
    // Add your model to a ListView
    listView->setDataModel(model);