views:

69

answers:

3

I would need to parse some data that i get from JSON query. I get the data with

$.getJSON(JSONquery, function(data){
   $.each(data, function(i,item){
$('#output....
});

The data I get from it something like this (sorry its messy and longish):

[{"name":"139930 blablabla","id":599,"contentobject_id":599,"main_node_id":565,"modified":"1287146683","published":"1264417592","section_id":1,"current_language":"eng","owner_id":193,"class_id":28,"class_name":"Product","class_identifier":"product","is_container":0,"node_id":565,"parent_node_id":355,"url_alias":"Products\/blablabla\/blablabla\/139930-blablabla","depth":6,"path":false,"children_count":false,"image_attributes":["main_image","listing_thumbnail","promo_badge"],"data_map":{"title":{"id":"6488","type":"ezstring","identifier":"title","content":"blablabla"},"short_title":{"id":"6489","type":"ezstring","identifier":"short_title","content":"139930 blablabla"},"subtitle":{"id":"6490","type":"ezstring","identifier":"subtitle","content":""},"authors":{"id":"6491","type":"ezauthor","identifier":"authors","content":"blablabla blablabla | blablabla@ blablabla .com|0"},"keywords":{"id":"6492","type":"ezkeyword","identifier":"keywords","content":"blablabla"},"item_id":{"id":"6493","type":"ezstring","identifier":"item_id","content":"139930"},"price":{"id":"6494","type":"ezprice","identifier":"price","content":"0|1|1"},"is_shoppable":{"id":"6495","type":"ezboolean","identifier":"is_shoppable","content":"0"},"main_image":{"id":"6496","type":"ezimage","identifier":"main_image","content":{"reference":false,"small":{"name":"small","width":"100","height":"33","mime_type":"image\/jpeg","filename":"139930-blablabla_small.jpg","suffix":"jpg","dirpath":"var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/lawn-blablabla\/blablabla\/139930-blablabla\/6496-25-eng-EU","alias_key":"2343348577","timestamp":"1286700665","is_valid":"1","url":"var\/blablabla\/storage\/images\/frontpage\/products\/blablabla-care\/blablabla\/139930-blablabla/6496-25-eng-EU\/139930-blablabla-blablablar_small.jpg","basename":"139930-blablabla-blablablar","alternative_text":"","text":"","original_filename":"139930_2.jpg","full_path":"var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6496-25-eng-EU\/139930-blablabla-blablablar_small.jpg","is_new":false,"info":{"Height":"200","Width":"600","IsColor":"1"}},"tiny":false,"medium":false,"large":false,"rss":false,"width100":false,"width150":false,"width200":false,"width300":false,"width400":false,"product_main":false,"product_main_large":false,"product_listing":false,"product_category_listing":false,"product_media_listing":false,"rc_full":false,"main_banner":false,"main_banner_front":false,"promo_badge":false,"multiuploadthumbnail":false,"original":{"url":"var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6496-25-eng-EU\/139930-blablabla-blablablar.jpg|"}}},"listing_thumbnail":{"id":"6497","type":"ezimage","identifier":"listing_thumbnail","content":{"reference":false,"small":null,"tiny":false,"medium":false,"large":false,"rss":false,"width100":false,"width150":false,"width200":false,"width300":false,"width400":false,"product_main":false,"product_main_large":false,"product_listing":false,"product_category_listing":false,"product_media_listing":false,"rc_full":false,"main_banner":false,"main_banner_front":false,"promo_badge":false,"multiuploadthumbnail":false,"original":{"url":"var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6497-25-eng-EU\/139930-blablabla-blablablar.jpg|"}}},"related_images":{"id":"6498","type":"ezobjectrelationbrowse","identifier":"related_images","content":"605"},"related_media":{"id":"6499","type":"ezobjectrelationbrowse","identifier":"related_media","content":""},"related_products":{"id":"6500","type":"ezobjectrelationbrowse","identifier":"related_products","content":""},"related_faq_items":{"id":"6501","type":"ezobjectrelationbrowse","identifier":"related_faq_items","content":""},"awards":{"id":"6502","type":"ezxmltext","identifier":"awards","content":"\n
        \n"},"country_awards":{"id":"601924","type":"ezxmltext","identifier":"country_awards","content":"\n


    \n"},"description":{"id":"6503","type":"ezxmltext","identifier":"description","content":"\n
        blablabla<\/line><\/paragraph><\/section>\n"},"features":{"id":"6504","type":"ezxmltext","identifier":"features","content":"\n
         • blablabla <\/paragraph><\/li>
         • blablabla <\/paragraph><\/li>
         • blablabla <\/paragraph><\/li>
         • blablabla <\/paragraph><\/li>
         • C blablabla <\/paragraph><\/li><\/ul><\/paragraph><\/section>\n"},"freeform_1_title":{"id":"6505","type":"ezstring","identifier":"freeform_1_title","content":""},"freeform_1_content":{"id":"6506","type":"ezxmltext","identifier":"freeform_1_content","content":"\n\n"},"freeform_2_title":{"id":"6507","type":"ezstring","identifier":"freeform_2_title","content":""},"freeform_2_content":{"id":"6508","type":"ezxmltext","identifier":"freeform_2_content","content":"\n\n"},"freeform_3_title":{"id":"6509","type":"ezstring","identifier":"freeform_3_title","content":""},"freeform_3_content":{"id":"6510","type":"ezxmltext","identifier":"freeform_3_content","content":"\n\n"},"promo_badge":{"id":"277833","type":"ezimage","identifier":"promo_badge","content":{"reference":false,"small":null,"tiny":false,"medium":false,"large":false,"rss":false,"width100":false,"width150":false,"width200":false,"width300":false,"width400":false,"product_main":false,"product_main_large":false,"product_listing":false,"product_category_listing":false,"product_media_listing":false,"rc_full":false,"main_banner":false,"main_banner_front":false,"promo_badge":false,"multiuploadthumbnail":false,"original":{"url":"|"}}},"weight":{"id":"433850","type":"ezstring","identifier":"weight","content":"1052"},"length":{"id":"433851","type":"ezstring","identifier":"length","content":"970"},"product_attributes":{"id":"691877","type":"blamatrix","identifier":"product_attributes","content":{"HTTPValue":null,"Content":null,"DisplayInfo":null,"IsValid":null,"ContentClassAttributeID":"891","ValidationError":null,"ValidationLog":null,"ContentClassAttributeIdentifier":"product_attributes","ContentClassAttributeCanTranslate":null,"ContentClassAttributeName":null,"ContentClassAttributeIsInformationCollector":null,"ContentClassAttributeIsRequired":null,"PersistentDataDirty":false,"InputParameters":false,"HasValidationError":false,"DataTypeCustom":null,"ID":"691877","ContentObjectID":"599","Version":"26","LanguageCode":"eng-EU","LanguageID":"8","AttributeOriginalID":"0","SortKeyInt":"0","SortKeyString":"","DataTypeString":"blamatrix","DataText":"\n<\/name>Title<\/column>Content<\/column><\/columns>Description<\/c><ul><li>I NEED THIS DESC TEXT<\/li><\/ul><\/c>SOME TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>THIS TITLE<\/c>THIS TEXT<\/c>THIS TITLE<\/c>AGAIN THIS TEXT<\/c>THIS TITLE<\/c><ul><li>THIS TEXAT<\/li><\/ul><\/c>THIS TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>YEP THIS TITLE<\/c>THIS<\/c><\/blamatrix>\n","DataInt":null,"DataFloat":"0"}}}}]

I would need to get those 'THIS TEXT/TITLE' parts and append them inot a table. Here a cut from that huge output (so this part i would need to parse):

{
    "id": "691877",
    "type": "blamatrix",
    "identifier": "product_attributes",
    "content": {
        "HTTPValue": null,
        "Content": null,
        "DisplayInfo": null,
        "IsValid": null,
        "ContentClassAttributeID": "891",
        "ValidationError": null,
        "ValidationLog": null,
        "ContentClassAttributeIdentifier": "product_attributes",
        "ContentClassAttributeCanTranslate": null,
        "ContentClassAttributeName": null,
        "ContentClassAttributeIsInformationCollector": null,
        "ContentClassAttributeIsRequired": null,
        "PersistentDataDirty": false,
        "InputParameters": false,
        "HasValidationError": false,
        "DataTypeCustom": null,
        "ID": "691877",
        "ContentObjectID": "599",
        "Version": "26",
        "LanguageCode": "eng-EU",
        "LanguageID": "8",
        "AttributeOriginalID": "0",
        "SortKeyInt": "0",
        "SortKeyString": "",
        "DataTypeString": "blamatrix",
        "DataText": "\n<\/name>Title<\/column>Content<\/column><\/columns>Description<\/c><ul><li>I NEED THIS DESC TEXT<\/li><\/ul><\/c>SOME TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>THIS TITLE<\/c>THIS TEXT<\/c>THIS TITLE<\/c>AGAIN THIS TEXT<\/c>THIS TITLE<\/c><ul><li>THIS TEXAT<\/li><\/ul><\/c>THIS TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>YEP THIS TITLE<\/c>THIS<\/c><\/blamatrix>\n",
        "DataInt": null,
        "DataFloat": "0" 
    }
}
A: 

some of your data is not valid juston where you have line breaks that might be due to how you copied and pasted but I cleaned it up here is what you need

 var data = [{
     "name": "139930 blablabla",
     "id": 599,
     "contentobject_id": 599,
     "main_node_id": 565,
     "modified": "1287146683",
     "published": "1264417592",
     "section_id": 1,
     "current_language": "eng",
     "owner_id": 193,
     "class_id": 28,
     "class_name": "Product",
     "class_identifier": "product",
     "is_container": 0,
     "node_id": 565,
     "parent_node_id": 355,
     "url_alias": "Products\/blablabla\/blablabla\/139930-blablabla",
     "depth": 6,
     "path": false,
     "children_count": false,
     "image_attributes": ["main_image", "listing_thumbnail", "promo_badge"],
     "data_map": {
         "title": {
             "id": "6488",
             "type": "ezstring",
             "identifier": "title",
             "content": "blablabla"
         },
         "short_title": {
             "id": "6489",
             "type": "ezstring",
             "identifier": "short_title",
             "content": "139930 blablabla"
         },
         "subtitle": {
             "id": "6490",
             "type": "ezstring",
             "identifier": "subtitle",
             "content": ""
         },
         "authors": {
             "id": "6491",
             "type": "ezauthor",
             "identifier": "authors",
             "content": "blablabla blablabla | blablabla@ blablabla .com|0"
         },
         "keywords": {
             "id": "6492",
             "type": "ezkeyword",
             "identifier": "keywords",
             "content": "blablabla"
         },
         "item_id": {
             "id": "6493",
             "type": "ezstring",
             "identifier": "item_id",
             "content": "139930"
         },
         "price": {
             "id": "6494",
             "type": "ezprice",
             "identifier": "price",
             "content": "0|1|1"
         },
         "is_shoppable": {
             "id": "6495",
             "type": "ezboolean",
             "identifier": "is_shoppable",
             "content": "0"
         },
         "main_image": {
             "id": "6496",
             "type": "ezimage",
             "identifier": "main_image",
             "content": {
                 "reference": false,
                 "small": {
                     "name": "small",
                     "width": "100",
                     "height": "33",
                     "mime_type": "image\/jpeg",
                     "filename": "139930-blablabla_small.jpg",
                     "suffix": "jpg",
                     "dirpath": "var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/lawn-blablabla\/blablabla\/139930-blablabla\/6496-25-eng-EU",
                     "alias_key": "2343348577",
                     "timestamp": "1286700665",
                     "is_valid": "1",
                     "url": "var\/blablabla\/storage\/images\/frontpage\/products\/blablabla-care\/blablabla\/139930-blablabla/6496-25-eng-EU\/139930-blablabla-blablablar_small.jpg",
                     "basename": "139930-blablabla-blablablar",
                     "alternative_text": "",
                     "text": "",
                     "original_filename": "139930_2.jpg",
                     "full_path": "var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6496-25-eng-EU\/139930-blablabla-blablablar_small.jpg",
                     "is_new": false,
                     "info": {
                         "Height": "200",
                         "Width": "600",
                         "IsColor": "1"
                     }
                 },
                 "tiny": false,
                 "medium": false,
                 "large": false,
                 "rss": false,
                 "width100": false,
                 "width150": false,
                 "width200": false,
                 "width300": false,
                 "width400": false,
                 "product_main": false,
                 "product_main_large": false,
                 "product_listing": false,
                 "product_category_listing": false,
                 "product_media_listing": false,
                 "rc_full": false,
                 "main_banner": false,
                 "main_banner_front": false,
                 "promo_badge": false,
                 "multiuploadthumbnail": false,
                 "original": {
                     "url": "var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6496-25-eng-EU\/139930-blablabla-blablablar.jpg|"
                 }
             }
         },
         "listing_thumbnail": {
             "id": "6497",
             "type": "ezimage",
             "identifier": "listing_thumbnail",
             "content": {
                 "reference": false,
                 "small": null,
                 "tiny": false,
                 "medium": false,
                 "large": false,
                 "rss": false,
                 "width100": false,
                 "width150": false,
                 "width200": false,
                 "width300": false,
                 "width400": false,
                 "product_main": false,
                 "product_main_large": false,
                 "product_listing": false,
                 "product_category_listing": false,
                 "product_media_listing": false,
                 "rc_full": false,
                 "main_banner": false,
                 "main_banner_front": false,
                 "promo_badge": false,
                 "multiuploadthumbnail": false,
                 "original": {
                     "url": "var\/blablabal_blablabal\/storage\/images\/frontpage\/products\/blab-bla\/blaaders\/139930-blablabla-blablablar\/6497-25-eng-EU\/139930-blablabla-blablablar.jpg|"
                 }
             }
         },
         "related_images": {
             "id": "6498",
             "type": "ezobjectrelationbrowse",
             "identifier": "related_images",
             "content": "605"
         },
         "related_media": {
             "id": "6499",
             "type": "ezobjectrelationbrowse",
             "identifier": "related_media",
             "content": ""
         },
         "related_products": {
             "id": "6500",
             "type": "ezobjectrelationbrowse",
             "identifier": "related_products",
             "content": ""
         },
         "related_faq_items": {
             "id": "6501",
             "type": "ezobjectrelationbrowse",
             "identifier": "related_faq_items",
             "content": ""
         },
         "awards": {
             "id": "6502",
             "type": "ezxmltext",
             "identifier": "awards",
             "content": "\n\n"
         },
         "country_awards": {
             "id": "601924",
             "type": "ezxmltext",
             "identifier": "country_awards",
             "content": "\n\n"
         },
         "description": {
             "id": "6503",
             "type": "ezxmltext",
             "identifier": "description",
             "content": "\nblablabla<\/line><\/paragraph><\/section>\n"
         },
         "features": {
             "id": "6504",
             "type": "ezxmltext",
             "identifier": "features",
             "content": "\n• blablabla <\/paragraph><\/li>• blablabla <\/paragraph><\/li>• blablabla <\/paragraph><\/li>• blablabla <\/paragraph><\/li>• C blablabla <\/paragraph><\/li><\/ul><\/paragraph><\/section>\n"
         },
         "freeform_1_title": {
             "id": "6505",
             "type": "ezstring",
             "identifier": "freeform_1_title",
             "content": ""
         },
         "freeform_1_content": {
             "id": "6506",
             "type": "ezxmltext",
             "identifier": "freeform_1_content",
             "content": "\n\n"
         },
         "freeform_2_title": {
             "id": "6507",
             "type": "ezstring",
             "identifier": "freeform_2_title",
             "content": ""
         },
         "freeform_2_content": {
             "id": "6508",
             "type": "ezxmltext",
             "identifier": "freeform_2_content",
             "content": "\n\n"
         },
         "freeform_3_title": {
             "id": "6509",
             "type": "ezstring",
             "identifier": "freeform_3_title",
             "content": ""
         },
         "freeform_3_content": {
             "id": "6510",
             "type": "ezxmltext",
             "identifier": "freeform_3_content",
             "content": "\n\n"
         },
         "promo_badge": {
             "id": "277833",
             "type": "ezimage",
             "identifier": "promo_badge",
             "content": {
                 "reference": false,
                 "small": null,
                 "tiny": false,
                 "medium": false,
                 "large": false,
                 "rss": false,
                 "width100": false,
                 "width150": false,
                 "width200": false,
                 "width300": false,
                 "width400": false,
                 "product_main": false,
                 "product_main_large": false,
                 "product_listing": false,
                 "product_category_listing": false,
                 "product_media_listing": false,
                 "rc_full": false,
                 "main_banner": false,
                 "main_banner_front": false,
                 "promo_badge": false,
                 "multiuploadthumbnail": false,
                 "original": {
                     "url": "|"
                 }
             }
         },
         "weight": {
             "id": "433850",
             "type": "ezstring",
             "identifier": "weight",
             "content": "1052"
         },
         "length": {
             "id": "433851",
             "type": "ezstring",
             "identifier": "length",
             "content": "970"
         },
         "product_attributes": {
             "id": "691877",
             "type": "blamatrix",
             "identifier": "product_attributes",
             "content": {
                 "HTTPValue": null,
                 "Content": null,
                 "DisplayInfo": null,
                 "IsValid": null,
                 "ContentClassAttributeID": "891",
                 "ValidationError": null,
                 "ValidationLog": null,
                 "ContentClassAttributeIdentifier": "product_attributes",
                 "ContentClassAttributeCanTranslate": null,
                 "ContentClassAttributeName": null,
                 "ContentClassAttributeIsInformationCollector": null,
                 "ContentClassAttributeIsRequired": null,
                 "PersistentDataDirty": false,
                 "InputParameters": false,
                 "HasValidationError": false,
                 "DataTypeCustom": null,
                 "ID": "691877",
                 "ContentObjectID": "599",
                 "Version": "26",
                 "LanguageCode": "eng-EU",
                 "LanguageID": "8",
                 "AttributeOriginalID": "0",
                 "SortKeyInt": "0",
                 "SortKeyString": "",
                 "DataTypeString": "blamatrix",
                 "DataText": "\n<\/name>Title<\/column>Content<\/column><\/columns>Description<\/c><ul><li>I NEED THIS DESC TEXT<\/li><\/ul><\/c>SOME TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>THIS TITLE<\/c>THIS TEXT<\/c>THIS TITLE<\/c>AGAIN THIS TEXT<\/c>THIS TITLE<\/c><ul><li>THIS TEXAT<\/li><\/ul><\/c>THIS TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>YEP THIS TITLE<\/c>THIS<\/c><\/blamatrix>\n",
                 "DataInt": null,
                 "DataFloat": "0"
             }
         }
     }
 }];

above is the variable I made as data since we know you have no problem getting the data and bellow is how you access what you need and put it in to a td of tr of table

 $('#td_id').append(data[0].data_map.product_attributes.content.DataText);
mcgrailm
Ah thanks, but I wasnt clear I see. I it possible to get that DataText data in to own td tables? Like this: <td>Descrption</td><td><ul><li>I NEED THIS DESC TEXT<\/li></li> and so on. So that 'SOME TITLE's are in own td cell and 'THIS TEXT's in own td's.
peterS
so what your saying is you want to extract the values of the markup contained within DataText property and build it into a table?
mcgrailm
Basicly yes. Is it possible?
peterS
I'm not sure... I don't know what mark up that is other than bad since it starts with a closing tag. if it was straight up html and it was good html then I would say there was a good chance
mcgrailm
Well, how shoul I do it then? I could try on that, maybe it works?
peterS
its hard to say be because I image the markup is different on almost every product. So lets assume for a minute that it is the same and its bad you could try using a regex but you might end up with two problems then
mcgrailm
I think the content is (or should be) XML. So i need to parse that xml to get it to table like I said before.
peterS
well then you have your answer all you have to do is parse it like xml and use the results to build the table
mcgrailm
But the thing is, i have no clue how to parse it. Any examples? Do I need to modify the query somehow or something? I am clueless.
peterS
I would just look on this site for jquery xml parsing here is one post http://stackoverflow.com/questions/3957932/whats-the-best-way-to-parse-xml-response-in-ajax
mcgrailm
So I need to do a seperate XML GET? Or just put the find(something) straight into that code what I have alrady (first post)?
peterS
do it with the results of what I showed you
mcgrailm
A: 

Still need some help wih this. This is the part I would need to parse into table (the DataText part that is), so that Title is in its ow s and the content text in its own s. This the output what I get (I believe its xml):

 {
        "id": "691877",
        "type": "blamatrix",
        "identifier": "product_attributes",
        "content": {
            "HTTPValue": null,
            "Content": null,
            "DisplayInfo": null,
            "IsValid": null,
            "ContentClassAttributeID": "891",
            "ValidationError": null,
            "ValidationLog": null,
            "ContentClassAttributeIdentifier": "product_attributes",
            "ContentClassAttributeCanTranslate": null,
            "ContentClassAttributeName": null,
            "ContentClassAttributeIsInformationCollector": null,
            "ContentClassAttributeIsRequired": null,
            "PersistentDataDirty": false,
            "InputParameters": false,
            "HasValidationError": false,
            "DataTypeCustom": null,
            "ID": "691877",
            "ContentObjectID": "599",
            "Version": "26",
            "LanguageCode": "eng-EU",
            "LanguageID": "8",
            "AttributeOriginalID": "0",
            "SortKeyInt": "0",
            "SortKeyString": "",
            "DataTypeString": "blamatrix",
            "DataText": "\n<\/name>Title<\/column>Content<\/column><\/columns>Description<\/c><ul><li>I NEED THIS DESC TEXT<\/li><\/ul><\/c>SOME TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>THIS TITLE<\/c>THIS TEXT<\/c>THIS TITLE<\/c>AGAIN THIS TEXT<\/c>THIS TITLE<\/c><ul><li>THIS TEXAT<\/li><\/ul><\/c>THIS TITLE<\/c><ul><li>THIS TEXT<\/li><\/ul><\/c>YEP THIS TITLE<\/c>THIS<\/c><\/blamatrix>\n",
            "DataInt": null,
            "DataFloat": "0" 
        }
    }

Any advice is appreciated! :)

peterS
A: 

Here is the content of that DataText attribute that I would need to parse:

<blamatrixrix>
<name></name>
<columns number="2">
    <column id="title" num="0">Title</column>
    <column id="content" num="1">Content</column>
</columns>
<rows number="7"></rows>
<c>Description</c>
<c><ul><li>Description text here</li></ul></c>
<c>Some title</c>
<c>Some text blabla</c>
<c>Some title</c>
<c>Some text blabla</c>
<c>Some title</c>
<c>Some text blabla</c>
<c>Some title</c>
<c>Some text blabla</c>
<c>Some title</c>
<c>Some text blabla</c>
<c>Some title</c>
<c>Some text blabla</c>
</blamatrixrix>

So titles to own and some texts to own . Im still not sure how to parse inside of that :(

peterS