繁体   English   中英

将URL中的JSON数据解析为数组并打印

[英]Parse JSON data from URL to Array and Print

我有来自某些URL的 JSON数据:我必须解析此JSON数据并打印所有产品的品牌名称,MRP和名称。

 [
        {
            "name": "Message",
            "data": []
        },
        {
            "name": "ProductGrid",
            "data": {
                "title": "Results for tea",
                "count": 244,
                "products": [
                    {
                        "id": "2313",
                        "name": "Clear Green Tea Bags",
                        "full_name": "Lipton Clear Green Tea Bags",
                        "images": [
                            "200.png"
                        ],
                        "brand": {
                            "id": "18",
                            "name": "Lipton",
                            "url": "/lipton-b.php"
                        },
                        "category": {
                            "id": "86",
                            "name": "Tea Bag",
                            "url": "tea-bag-c.php",
                            "food_coupons_allowed": "1",
                            "image_url": "hea-bag.jpeg",
                            "parent_category": {
                                "id": "13",
                                "name": "Tea & Coffee"
                            }
                        },
                        "properties": [],
                        "is_new": false,
                        "     

]'

我想使用JavaScript或Java将此JSON数据解析为数组,并且需要产品的全名,品牌和MRP

怎么做请帮忙?

在javascript中,您可以这样做:

var jsonText = '[{"name":"Message", "data": [] ... // jsonText is the string with the json 
var obj = JSON.parse(jsonText);

在Java中,您可以将json表示为Map。

String json = ...
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map = mapper.readValue(json, Map.class);

假设您有类似var url = http:// localhost?jsonData = [...]的 URL

在javascript中,您可以获得var jsonData = url.split(“ =”)[1];

但这是字符串类型。 要将其解析为JSON,请写入jsonData = JSON.parse(jsonData)

现在获取要显示的字符串数组,var printData = jsonData.map(function(jsonObj){return jsonobj.title + jsonobj.brand.name + jsonObj.price;})

现在,您可以使用下面的代码console.log(JSON.stringify(printData));在控制台中看到printData。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM