如何使用json文件显示对自动完成字段的建议?

玛丽 :

我有这个产品代码中包含“产品代码”的json,其中还有另一个jsonobject和字符串。

我想要的是,当我输入“产品代码”时,将显示建议的描述。

输入产品描述代码时,我已经获得了建议描述的显示,但似乎显示方式有误。

我的意思是,当我键入“产品代码”“ BI”时,用于显示建议描述的显示屏是这样的

{“ GNT”:“巨人”,“ TRL”:“ TREEK”,“ CNN”:“ CNDALE”,“ ST”:“ SANTA”,“ SCT”:“ SCOTT”}

这是我的json

{
    "BI": {
        "desc": {
            "MBIK": "MOUNTAIN BIKE",
            "FBIK": "FOLDING BIKE",
            "EBIK": "E-BIKE",
            "OTHER": "OTHER"
        },
        "brand": {
            "GNT": "GIANT",
            "TRL": "TREEK",
            "CNN": "CNDALE",
            "STC": "SANTA",
            "SCT": "SCOTT"
        },
        "category": "BICYCLE & EBIKE STORE"
    },
    "CA": {
        "desc": {
            "CARA": "CAR AUDIO",
            "CARS": "CAR SPEAKER",
            "TIRE": "CAR TIRE",
            "OTHER": "OTHER"
        },
        "brand": {
            "AIC": "AICHI",
            "BRI": "BRIGDESTONE",
            "CON": "CONTINENTAL",
            "DUN": "DUNLOP",
            "FAL": "FALKEN GR"
        }
                "category": "CAR ACCESORIES"
    }, 
        and so on.. { 
                    }
}

这是将我的json解析为片段的代码

private void loadLookupCategoryJson() {

        mLookupProducts = new ArrayList<>();
        mArrayStringLookupProduct = new ArrayList<>();

        try {
            JSONObject json = new JSONObject(loadLookupBrandJSON());
            Iterator<String> keys = json.keys();

            while(keys.hasNext()) {
                String key = keys.next();
                JSONObject obj = (JSONObject) json.get(key);

                JSONObject brand = obj.getJSONObject(Keys.CATEGORY_BRAND);
                JSONObject desc =  obj.getJSONObject(Keys.CATEGORY_DESC);
                String category = obj.getString(Keys.CATEGORY);

                LookupProducts lookupProduct = new LookupProducts(key, brand, desc, category);
                mLookupProducts.add(lookupProduct);
                mArrayStringLookupProduct.add(String.valueOf(brand));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

这是我获取品牌动态领域的方法

} else if (format.equalsIgnoreCase(Keys.AUTO_COMPLETE_FIELD)) {
 addTextViews(title);
 addAutoCompleteField(desc, inputType, title, mKeys.get(i), mArrayStringLookupProduct, maxLength, minLength);
} 

我希望输出应该是这样的

输入文字:T

建议的显示:巨型TREEK SANTA SCOTT

显示所有带有“ T”的值

实际产量

输入文字:BI

建议的显示:{“ GNT”:“巨人”,“ TRL”:“ TREEK”,“ CNN”:“ CNDALE”,“ ST”:“ SANTA”,“ SCT”:“ SCOTT”}

尼蒂卡:
  1. 在这行代码中-mArrayStringLookupProduct.add(String.valueOf(brand)); 您正在将整个jsonObject添加到mArrayStringLookupProduct ArrayList中。
  2. 您只需要此ArrayList中的JSONObject品牌值。

您可以进行以下更改-

   JSONObject brand = obj.getJSONObject(Keys.CATEGORY_BRAND);
   JSONObject desc =  obj.getJSONObject(Keys.CATEGORY_DESC);
   String category = obj.getString(Keys.CATEGORY);
   lookupProduct = new LookupProducts(key, brand, desc, category);
   mLookupProducts.add(lookupProduct);

   // iterate every brand key, fetch its value and add in arrayList
   Iterator<String> brandKeys = brand.keys();
   while(brandKeys.hasNext()) {
        String bKey = brandKeys.next();
        mArrayStringLookupProduct.add((String) brand.get(bKey));
   }        

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Intellij IDEA的子类上下文中为覆盖的自动完成显示方法建议?

如何使用DuckDuckGo的搜索自动完成建议

使用JSON自动完成

如何获得Rust IntelliJ IDEA插件以显示自动完成建议?

使用PrimeNG自动完成组件显示对焦点的建议

如何使用Django在表单中创建自动完成输入字段

SAPUI5搜索字段建议自动完成

如何使用这些json数据进行自动建议

如何在JavaFx中自定义自动完成文本字段建议

如何使IntelliJ显示自动完成建议的Javadoc?

仅在按Enter键后如何显示自动完成建议?

自动完成建议和使用json数据搜索

jQueryUI自动完成建议显示在输入字段之外

Coc.nvim如何在Markdown文件中禁用自动完成建议?

为什么Visual Studio无法显示正确的自动完成建议

如何在“材料UI自动完成”加载后显示建议?

自动完成文本视图显示空白建议

显示带有JQuery自动完成建议的下拉列表

自动完成建议不显示

Google Chrome从不显示自动完成搜索建议

如何设置Spyder以突出显示并自动完成kivy文件(.kv)?

如何增加完成建议字段的权重?

Eclipse自动完成而不显示建议的建议

未在自动完成字段启动中正确加载建议

PrimeNG 自动完成不显示建议

如何在 AUI 中显示有限实体:自动完成搜索建议

如何过滤谷歌地点自动完成建议?

错误 - PrimeReact 自动完成建议未显示

Flutter:自动完成建议显示“对象实例”而不是名称