How to filter Json data with jQuery?

Asked

Viewed 257 times

0

I have basic knowledge of JS, like to work with jQuery that makes it easy enough.

I have several data in Json and would like to create some variables as a result of some Json lines, follow an example Json that I have:

Array
(
[body] => stdClass Object
    (
        [id] => xxxxxx
        [mode] => me2
        [created_by] => receiver
        [order_id] => xxxxxxxxxxx
        [order_cost] => 69.9
        [site_id] => MLB
        [status] => ready_to_ship
        [substatus] => ready_to_print
        [status_history] => stdClass Object
            (
                [date_cancelled] => 
                [date_delivered] => 
                [date_first_visit] => 
                [date_handling] => 2017-07-14T04:41:32.000-04:00
                [date_not_delivered] => 
                [date_ready_to_ship] => 2017-07-14T04:41:32.000-04:00
                [date_shipped] => 
                [date_returned] => 
            )

        [date_created] => 2017-07-14T04:40:47.000-04:00
        [last_updated] => 2017-07-14T04:41:32.000-04:00
        [tracking_number] => xxxxxxxxxxx
        [tracking_method] => PAC
        [service_id] => 21
        [carrier_info] => 
        [sender_id] => xxxxxxxxx
        [sender_address] => stdClass Object
            (
                [id] => xxxxxxxx
                [address_line] => xxxxxxxxxx
                [street_name] => xxxxxxxxx
                [street_number] => 2
                [comment] => Lj 1
                [zip_code] => xxxxxxxx
                [city] => stdClass Object
                    (
                        [id] => xxxxxxxxxx
                        [name] => xxxxxxxx
                    )

                [state] => stdClass Object
                    (
                        [id] => BR-DF
                        [name] => Distrito Federal
                    )

                [country] => stdClass Object
                    (
                        [id] => BR
                        [name] => Brasil
                    )

                [neighborhood] => stdClass Object
                    (
                        [id] => 
                        [name] => Taguatinga Norte (Taguatinga)
                    )

                [municipality] => stdClass Object
                    (
                        [id] => 
                        [name] => 
                    )

                [agency] => 
                [types] => Array
                    (
                        [0] => billing
                        [1] => default_buying_address
                        [2] => default_selling_address
                        [3] => shipping
                    )

                [latitude] => -15.83
                [longitude] => -48.06
                [geolocation_type] => RANGE_INTERPOLATED
            )

        [receiver_id] => 81184358
        [receiver_address] => stdClass Object
            (
                [id] => xxxxxxxxx
                [address_line] => xxxxxxxxxxxx
                [street_name] => Cinco de julho
                [street_number] => xxx
                [comment] => xxxxxxxxxxx
                [zip_code] => xxxxxxxxxxxx
                [city] => stdClass Object
                    (
                        [id] => BR-RJ-05
                        [name] => Niterói
                    )

                [state] => stdClass Object
                    (
                        [id] => BR-RJ
                        [name] => Rio de Janeiro
                    )

                [country] => stdClass Object
                    (
                        [id] => BR
                        [name] => Brasil
                    )

                [neighborhood] => stdClass Object
                    (
                        [id] => 
                        [name] => Icaraí
                    )

                [municipality] => stdClass Object
                    (
                        [id] => 
                        [name] => 
                    )

                [agency] => 
                [types] => 
                [latitude] => -22.9
                [longitude] => -43.1
                [geolocation_type] => RANGE_INTERPOLATED
                [receiver_name] => xxxxxxxxx
                [receiver_phone] => xxxxxxxxxxx
            )

        [shipping_items] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => xxxxxxxxxxx
                        [description] => DESCRIÇAO DO PRODUTO
                        [quantity] => 1
                        [dimensions] => 8.0x15.0x18.0,132.0
                    )

            )

        [shipping_option] => stdClass Object
            (
                [id] => 27305403
                [shipping_method_id] => 100009
                [name] => Normal
                [currency_id] => BRL
                [cost] => 20.9
                [list_cost] => 20.9
                [estimated_handling_limit] => stdClass Object
                    (
                        [date] => 2017-07-17T00:00:00.000-03:00
                    )

                [estimated_delivery_final] => stdClass Object
                    (
                        [date] => 2017-08-25T00:00:00.000-03:00
                    )

                [estimated_delivery_limit] => stdClass Object
                    (
                        [date] => 2017-08-11T00:00:00.000-03:00
                    )

                [estimated_delivery_extended] => stdClass Object
                    (
                        [date] => 2017-08-02T00:00:00.000-03:00
                    )

                [estimated_delivery_time] => stdClass Object
                    (
                        [type] => known_frame
                        [date] => 2017-07-25T00:00:00.000-03:00
                        [unit] => hour
                        [offset] => stdClass Object
                            (
                                [date] => 2017-07-28T00:00:00.000-03:00
                                [shipping] => 72
                            )

                        [time_frame] => stdClass Object
                            (
                                [from] => 
                                [to] => 
                            )

                        [pay_before] => 
                        [shipping] => 144
                        [handling] => 24
                    )

            )

        [comments] => 
        [date_first_printed] => 
        [market_place] => MELI
        [return_details] => 
        [tags] => Array
            (
            )

        [type] => forward
        [application_id] => 
        [return_tracking_number] => 
        [cost_components] => stdClass Object
            (
                [special_discount] => 0
                [loyal_discount] => 0
                [compensation] => 0
            )

        [picking_type] => drop_off
        [logistic_type] => drop_off
        [substatus_history] => Array
            (
            )

        [delay] => Array
            (
            )

    )

[httpCode] => 200
)
Array
(
[body] => stdClass Object
    (
        [id] => 1423024865
        [date_created] => 2017-07-14T04:40:47.000-04:00
        [date_closed] => 2017-07-14T04:41:28.000-04:00
        [last_updated] => 2017-07-14T04:41:28.000-04:00
        [feedback] => stdClass Object
            (
                [sale] => 
                [purchase] => 
            )

        [mediations] => Array
            (
            )

        [comments] => 
        [order_request] => stdClass Object
            (
                [return] => 
                [change] => 
            )

        [fulfilled] => 
        [shipping] => stdClass Object
            (
                [id] => 26279834391
                [site_id] => MLB
                [shipment_type] => shipping
                [mode] => me2
                [shipping_mode] => me2
                [status] => ready_to_ship
                [shipping_items] => Array
                    (
                        [0] => stdClass Object
                            (
                                [id] => XXXXXXXXXXXX
                                [description] => DESCRIÇÃO DO PRODUTO
                                [quantity] => 1
                                [dimensions] => 8.0x15.0x18.0,132.0
                            )

                    )

                [shipping_option] => stdClass Object
                    (
                        [id] => 27305403
                        [shipping_method_id] => 100009
                        [name] => Normal
                        [currency_id] => BRL
                        [cost] => 20.9
                        [list_cost] => 20.9
                        [estimated_handling_limit] => stdClass Object
                            (
                                [date] => 2017-07-17T00:00:00.000-03:00
                            )

                        [estimated_delivery_final] => stdClass Object
                            (
                                [date] => 2017-08-25T00:00:00.000-03:00
                            )

                        [estimated_delivery_limit] => stdClass Object
                            (
                                [date] => 2017-08-11T00:00:00.000-03:00
                            )

                        [estimated_delivery_extended] => stdClass Object
                            (
                                [date] => 2017-08-02T00:00:00.000-03:00
                            )

                        [estimated_delivery_time] => stdClass Object
                            (
                                [type] => known_frame
                                [date] => 2017-07-25T00:00:00.000-03:00
                                [unit] => hour
                                [offset] => stdClass Object
                                    (
                                        [date] => 2017-07-28T00:00:00.000-03:00
                                        [shipping] => 72
                                    )

                                [time_frame] => stdClass Object
                                    (
                                        [from] => 
                                        [to] => 
                                    )

                                [pay_before] => 
                                [shipping] => 144
                                [handling] => 24
                            )

                    )

                [currency_id] => BRL
                [receiver_address] => stdClass Object
                    (
                        [id] => 11099787
                        [address_line] => XXXXXXXXXXXX
                        [street_name] => Cinco de julho
                        [street_number] => XXX
                        [comment] => XXXXXXXX
                        [zip_code] => XXXXXXXXX
                        [city] => stdClass Object
                            (
                                [id] => BR-RJ-05
                                [name] => Niterói
                            )

                        [state] => stdClass Object
                            (
                                [id] => BR-RJ
                                [name] => Rio de Janeiro
                            )

                        [country] => stdClass Object
                            (
                                [id] => BR
                                [name] => Brasil
                            )

                        [neighborhood] => stdClass Object
                            (
                                [id] => 
                                [name] => Icaraí
                            )

                        [municipality] => stdClass Object
                            (
                                [id] => 
                                [name] => 
                            )

                        [agency] => 
                        [types] => 
                        [latitude] => -22.9
                        [longitude] => -43.1
                        [geolocation_type] => RANGE_INTERPOLATED
                        [receiver_name] => XXXXXXXX
                        [receiver_phone] => XXXXXXXXXXX
                    )

                [sender_address] => stdClass Object
                    (
                        [id] => xxxxxxxxxx
                        [address_line] => xxxxxxx
                        [street_name] => xxxxxx
                        [street_number] => 2
                        [comment] => xxxxxxx
                        [zip_code] => xxxxxxxx
                        [city] => stdClass Object
                            (
                                [id] => xxxxxxxxxx
                                [name] => Brasília
                            )

                        [state] => stdClass Object
                            (
                                [id] => BR-DF
                                [name] => Distrito Federal
                            )

                        [country] => stdClass Object
                            (
                                [id] => BR
                                [name] => Brasil
                            )

                        [neighborhood] => stdClass Object
                            (
                                [id] => 
                                [name] => Taguatinga Norte (Taguatinga)
                            )

                        [municipality] => stdClass Object
                            (
                                [id] => 
                                [name] => 
                            )

                        [agency] => 
                        [types] => Array
                            (
                                [0] => billing
                                [1] => default_buying_address
                                [2] => default_selling_address
                                [3] => shipping
                            )

                        [latitude] => -15.83
                        [longitude] => -48.06
                        [geolocation_type] => RANGE_INTERPOLATED
                    )

                [picking_type] => drop_off
                [logistic_type] => drop_off
                [cost] => 20.9
                [substatus] => ready_to_print
                [date_created] => 2017-07-14T04:40:47.000-04:00
                [date_first_printed] => 
                [service_id] => 21
                [receiver_id] => 81184358
                [sender_id] => 135930319
                [cost_components] => stdClass Object
                    (
                        [special_discount] => 0
                        [loyal_discount] => 0
                        [compensation] => 0
                    )

            )

        [expiration_date] => 2017-08-04T04:41:28.000-04:00
        [status] => paid
        [status_detail] => 
        [order_items] => Array
            (
                [0] => stdClass Object
                    (
                        [item] => stdClass Object
                            (
                                [id] => XXXXXXXXXX
                                [title] => DESCRIÇÃO DO PRODUTO
                                [category_id] => XXXXX
                                [variation_id] => 
                                [seller_custom_field] => 
                                [variation_attributes] => Array
                                    (
                                    )

                                [warranty] => 
                                [condition] => new
                            )

                        [quantity] => 1
                        [unit_price] => 69.9
                        [currency_id] => BRL
                    )

            )

        [currency_id] => BRL
        [buyer] => stdClass Object
            (
                [id] => 81184358
                [nickname] => NICKNAMECOMPRADOR
                [email] => EMAILCOMPRADOR
                [phone] => stdClass Object
                    (
                        [area_code] => 0021
                        [number] => 980558594
                        [extension] => 
                        [verified] => 
                    )

                [alternative_phone] => stdClass Object
                    (
                        [area_code] => XXXX
                        [number] => XXXXXX
                        [extension] => 
                    )

                [first_name] => XX
                [last_name] => XXXXXXXX
                [billing_info] => stdClass Object
                    (
                        [doc_type] => CPF
                        [doc_number] => XXXXXXXX
                    )

            )

        [seller] => stdClass Object
            (
                [id] => 135930319
                [nickname] => XXXXXXX
                [email] => XXXXXXXXXXXXXX
                [phone] => stdClass Object
                    (
                        [area_code] => 
                        [extension] => 
                        [number] => XXXXXXX
                        [verified] => 
                    )

                [alternative_phone] => stdClass Object
                    (
                        [area_code] => 
                        [extension] => 
                        [number] => 
                    )

                [first_name] => XXXXX
                [last_name] => XXXXX
            )

        [payments] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => XXXXXX
                        [order_id] => XXXXXXX
                        [payer_id] => XXXXXX
                        [collector] => stdClass Object
                            (
                                [id] => XXXXX
                            )

                        [card_id] => XXXXXXXXX
                        [site_id] => MLB
                        [reason] => DESCRIÇÃO DO PRODUTO
                        [payment_method_id] => master
                        [currency_id] => BRL
                        [installments] => 4
                        [issuer_id] => 24
                        [atm_transfer_reference] => stdClass Object
                            (
                                [company_id] => 
                                [transaction_id] => 
                            )

                        [coupon_id] => 
                        [activation_uri] => 
                        [operation_type] => regular_payment
                        [payment_type] => credit_card
                        [available_actions] => Array
                            (
                                [0] => refund
                            )

                        [status] => approved
                        [status_code] => 0000
                        [status_detail] => accredited
                        [transaction_amount] => 69.9
                        [shipping_cost] => 20.9
                        [coupon_amount] => 0
                        [overpaid_amount] => 0
                        [total_paid_amount] => 97.78
                        [installment_amount] => 24.45
                        [deferred_period] => 
                        [date_approved] => 2017-07-14T04:41:24.000-04:00
                        [authorization_code] => T55196
                        [transaction_order_id] => 3153246762
                        [date_created] => 2017-07-14T04:40:54.000-04:00
                        [date_last_modified] => 2017-07-14T04:41:24.000-04:00
                    )

            )

        [coupon] => stdClass Object
            (
                [id] => 
                [amount] => 0
            )

        [tags] => Array
            (
                [0] => not_delivered
                [1] => paid
            )

        [total_amount] => 69.9
        [total_amount_with_shipping] => 90.8
        [paid_amount] => 90.8
    )

[httpCode] => 200
)

I need to create variables for tracking_number, Buyer-nickname, Buyer-email and shipping_items-Description.

can give me a kick start to how I do?

Thank you!

  • I don’t quite understand Daniel, this code is huge, there’s no way to synthesize it?

  • Can you explain how you want to use these variables?

2 answers

1

The Jquery contains a method for handling JSON called: JQuery.parseJSON (). To use it is very simple:

var pessoas = jQuery.parseJSON( '{ "name": "John" }' );

Follows documentation: Jquery.parseJSON ()

Then, to traverse the object you can do so:

pessoas.forEach(function(pessoa, index) {
    if( pessoa.name === "John" ) {
        //executa regra
    }
});

-1


I got. Since there was a lot of information in Json that I wasn’t able to handle in Javascript, I first studied it in PHP to return only the data I wanted:

{"tracking_number": "xxxxxxxxxxx", "description": "DESCRIÇÃO DO PRODUTO", "nickname": "NickComprador", "email": "EmailComprador"}

and in Javascript:

url_get_tn = 'https://www.meusite.com/webtracker/get_tn.php?order=' + 
order_number;
product_title="";client_email="";username="";tracking_number=""; //define as variaveis vazias para não dar erro no console caso não consiga capturar os dados
$.getJSON( url_get_tn, function(result) {
    product_title = result.description;
    client_email = result.email;
    username =  result.nickname;
    tracking_number = result.tracking_number;
    if (tracking_number.length == 13){
        console.log('Tracking Number obtido da API: ' + tracking_number);
        cadastrar_webtracker();
    }
});

Browser other questions tagged

You are not signed in. Login or sign up in order to post.