如何在BlackBerry中解析JSON数据?

时间:2012-06-08 07:38:56

标签: blackberry blackberry-simulator blackberry-eclipse-plugin

如何解析BlackBerry中的JSON数据?需要帮助来解析以下数据。

{
    "menu": {
        "id": "Home",
        "menuitem": [
            {
                "type": "form",
                "name": "Order",
                "url": "http://domain/oredr.aspx",
                "Row": [
                    {
                        "Index": "1",
                        "Control": [
                            {
                                "type": "LB",
                                "align": "Left",
                                "send": "No",
                                "value": "User Name"
                            },
                            {
                                "type": "TB",
                                "align": "Right",
                                "send": "Yes",
                                "param": "username",
                                "maxlength": "25",
                                "ctype": "Alpha"
                            }
                        ]
                    },
                    {
                        "Index": "2",
                        "Control": [
                            {
                                "type": "LB",
                                "align": "Left",
                                "send": "No",
                                "value": "Mobile No"
                            },
                            {
                                "type": "TB",
                                "align": "Right",
                                "send": "Yes",
                                "param": "MobileNo",
                                "maxlength": "10",
                                "ctype": "Numeric"
                            }
                        ]
                    },
                    {
                        "Index": "3",
                        "Control": [
                            {
                                "type": "LB",
                                "align": "Left",
                                "send": "No",
                                "value": "Email ID"
                            },
                            {
                                "type": "TB",
                                "align": "Right",
                                "send": "Yes",
                                "param": "email",
                                "maxlength": "50",
                                "ctype": "Email"
                            }
                        ]
                    },
                    {
                        "Index": "4",
                        "Control": [
                            {
                                "type": "None",
                                "align": "Left",
                                "send": "No"
                            },
                            {
                                "type": "BT",
                                "align": "Center",
                                "send": "No",
                                "value": "Submit",
                                "ctype": "Submit"
                            }
                        ]
                    }
                ]
            },
            {
                "type": "form",
                "value": "Stock",
                "url": "http://domain/stock.aspx",
                "Row": [
                    {
                        "Index": "1",
                        "Control": [
                            {
                                "type": "LB",
                                "align": "Left",
                                "send": "No",
                                "value": "Select Medium"
                            },
                            {
                                "type": "CB",
                                "align": "Right",
                                "send": "Yes",
                                "param": "medium",
                                "Item": [
                                    {
                                        "name": "Yes"
                                    },
                                    {
                                        "name": "No"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "Index": "2",
                        "Control": [
                            {
                                "type": "None",
                                "align": "Left",
                                "send": "No"
                            },
                            {
                                "type": "BT",
                                "align": "Center",
                                "send": "No",
                                "value": "Submit",
                                "ctype": "Submit"
                            }
                        ]
                    }
                ]
            },
            {
                "type": "form",
                "value": "Custom",
                "url": "http://domain/custom.aspx",
                "Row": [
                    {
                        "Index": "1",
                        "Control": [
                            {
                                "type": "LB",
                                "align": "Left",
                                "send": "No",
                                "value": "Offer Type"
                            },
                            {
                                "type": "DD",
                                "align": "Right",
                                "send": "Yes",
                                "param": "offertype",
                                "Item": [
                                    {
                                        "name": "Marketing"
                                    },
                                    {
                                        "name": "Promotional"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "Index": "2",
                        "Control": [
                            {
                                "type": "None",
                                "align": "Left",
                                "send": "No"
                            },
                            {
                                "type": "BT",
                                "align": "Center",
                                "send": "No",
                                "value": "Submit",
                                "ctype": "Submit"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

1 个答案:

答案 0 :(得分:3)

请先参阅此链接 - json

试试这个 - 首先下载json解析器.jar文件并将其导入到您的项目中。

JSONObject data = new JSONObject(data);
JSONObject menu = data.getJSONObject("menu");

要获取字段的String值,请使用以下代码 -

String id = menu.getString("id");
JSONObject menuitem = json.getJSONObject("menuitem");

等等。