gpt4 book ai didi

java - 在java中解析magento json

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:39 25 4
gpt4 key购买 nike

我需要使用java解析json文件以在jsp文件中使用。

例如,当我调用此 URL 时,在 Magento 中使用 REST API:magento/api/rest/products?limit=2。

我有这样的东西:

{
"16":
{"entity_id":"16",
"attribute_set_id":"38",
"type_id":"simple",
"sku":"n2610",
"model":"2610",
"dimension":"4.1 x 1.7 x 0.7 inches ",
"description":"The Nokia 2610 is",
"in_depth":"Integrated camera",
"activation_information":"Conditional $250 Equipment Discount Included",
"meta_keyword":"Nokia 2610, cell, phone, ",
"short_description":"The words \"entry level\" no longer mean \"low-end,\" especially when it comes to the Nokia 2610",
"custom_layout_update":"",
"status":"1",
"tax_class_id":"2",
"color":"24",
"visibility":"4",
"weight":"3.2000",
"price":"149.9900",
"cost":"20.0000",
"name":"Nokia 2610 Phone",
"manufacturer":"20",
"url_key":"nokia-2610-phone",
"meta_title":"Nokia 2610",
"meta_description":"Offering advanced media and calling features without breaking the bank, The Nokia 2610 is an easy to use",
"gift_message_available":"",
"options_container":"container2",
"custom_design":""},

"17":
{"entity_id":"17",
"attribute_set_id":"38",
"type_id":"simple",
"sku":"bb8100",
"model":"8100",
"dimension":"4.2 x 2 x 0.6 inches ",
"description":" Like the BlackBerry 7105t",
"in_depth":"1.3 mega pixel camera to capture those special moments",
"activation_information":"CONDITIONAL $250 Equipment Discount Included",
"meta_keyword":"Blackberry, 8100, pearl, cell, phone",
"short_description":"The BlackBerry 8100 Pearl is a departure from the form factor of previous BlackBerry devices",
"custom_layout_update":"",
"color":"23",
"status":"1",
"tax_class_id":"2",
"visibility":"4",
"weight":"15.2000",
"price":"349.9900",
"cost":"29.9900",
"name":"BlackBerry 8100 Pearl",
"manufacturer":"21",
"url_key":"blackberry-8100-pearl",
"meta_title":"BlackBerry 8100 Pearl",
"meta_description":"BlackBerry 8100 Pearl sports a large 240 x 260 screen",
"gift_message_available":"",
"options_container":"container2",
"custom_design":""}}

我需要提取一些信息:名称、价格、描述......但我不知道该怎么做。

我读了一些教程 http://www.journaldev.com/2321/google-gson-api-for-json-processing-example-tutorial

问题是 Magento Json 文件与此文件相比非常不同且特殊:

{
"empID": 100,
"name": "David",
"permanent": false,
"address": {
"street": "BTM 1st Stage",
"city": "Bangalore",
"zipcode": 560100
},
"phoneNumbers": [
123456,
987654
],
"role": "Manager",
"cities": [
"Los Angeles",
"New York"
],
"properties": {
"age": "28 years",
"salary": "1000 Rs"
}
}

因为我们有“16”和“17”,它们是“动态的”。

最佳答案

第一个 json 无效.."description":"Like the BlackBerry 7105t"后缺少逗号

<小时/>

这种类型的json是一个map,所以16和17是map中的key。

那么这里就可以使用代码来解码了:

BTW:What I read from file is your json String

public static void main(String[] args) throws FileNotFoundException {
Gson gson = new Gson();
String json = readFromFile(new File("json.txt"));
HashMap<String, GObj> maps = gson.fromJson(json, new TypeToken<HashMap<String, GObj>>(){}.getType());
System.out.println(maps.get("16").description);
}

static String readFromFile(File file) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileInputStream(file));
StringBuilder builder = new StringBuilder();
while (scanner.hasNext()) {
builder.append(scanner.nextLine());
}
scanner.close();
return builder.toString();
}

static class GObj {
public int entity_id;
public int attribute_set_id;
public int status;
public int tax_class_id;
public int color;
public int visibility;
public int manufacturer;
public double weight;
public double price;
public double cost;
public String type_id;
public String sku;
public String model;
public String dimension;
public String description;
public String in_depth;
public String activation_information;
public String meta_keyword;
public String short_description;
public String custom_layout_update;
public String name;
public String url_key;
public String meta_title;
public String meta_description;
public String gift_message_available;
public String options_container;
public String custom_design;
}

关于java - 在java中解析magento json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com