为了账号安全,请及时绑定邮箱和手机立即绑定

无法使 json 对 recyclerview 有效

无法使 json 对 recyclerview 有效

忽然笑 2023-07-19 15:37:00
我正在尝试使用 Gson 和 recyclerview 进行 JSON 处理。我的 JSON 不完全有效。在我的 JSON 中,food 字段只有一个字符串被引用,而另一个则不被引用。请参阅下面我的 JSON...[    {"quantity" = 2,     "price" = 15,     "food" = "Fried" Rice},     {"quantity" = 2,    "price" = 20,    "food" = "Rice" and Stew}    ]您可以看到 Fried 有引号,而 Rice 没有引号,同样,Rice 和 Stew 也有同样的情况。最初是这样的……[    {quantity = 2,     price = 15,     food = Fried Rice},     {quantity = 2,    price = 20,    food = Rice and Stew}    ]我的活动类代码...Bundle extras = getIntent().getExtras();    if (extras != null) {        String listOfFood = extras.getString("foods");        listOfFood = listOfFood.replaceAll("([\\w]+)[ ]*=", "\"$1\" ="); // to quote before = value        listOfFood = listOfFood.replaceAll("=[ ]*([\\w@\\.]+)", "= \"$1\""); // to quote after = value, add special character as needed to the exclusion list in regex        listOfFood = listOfFood.replaceAll("=[ ]*\"([\\d]+)\"", "= $1"); // to un-quote decimal value        listOfFood = listOfFood.replaceAll("\"true\"", "true"); // to un-quote boolean        listOfFood = listOfFood.replaceAll("\"false\"", "false"); // to un-quote boolean        Log.d(TAG, "onCreate: "+listOfFood);        GsonBuilder builder = new GsonBuilder();        Gson mGson = builder.create();        List<FoodOrder> posts = new ArrayList<FoodOrder>();        posts = Arrays.asList(mGson.fromJson(listOfFood, FoodOrder[].class));        adapter = new RecyclerViewAdapter(FoodsOrderedActivity.this, posts);        recyclerView.setAdapter(adapter);    }我需要将炒饭放在引号之间的食品字段,作为米饭和炖菜的引号,或者是否有解决方法,我想知道。
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

根据您的代码。(尝试转换listOfFood为 JSON )我修改了 2 行代码,如下所示

        listOfFood = listOfFood.replaceAll("(\\s*)([^{,\\s]+)(\\s*)=","$1\"$2\"$3:"); // to quote before = value and replace = by :
        listOfFood = listOfFood.replaceAll("(:\\s*)([^\\s,{}](\\s*[^\\s,{}]+)*)", "$1\"$2\""); // to quote after = value (= now became :)


查看完整回答
反对 回复 2023-07-19
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

json 结构应该是这样的:

[{"数量" : 2, "价格" : 15, "食物" : "炒饭"}, {"数量" : 2, "价格" : 20, "食物" : "米饭和炖菜"}]


查看完整回答
反对 回复 2023-07-19
?
catspeake

TA贡献1111条经验 获得超0个赞

json 结构应如下所示 [ { "Key1" : "value1", "Key2" : "value2", }, { "Key1" : "value1", "Key2" : "value2", }



查看完整回答
反对 回复 2023-07-19
  • 3 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信