php - jsonObject.getString ("String in UTF8") 给出空白

标签 php android mysql json utf-8

我正在使用 JSON 格式的网络服务从我的 MySql 数据库和在线服务器上获取一个字符串。 当我在 Debug模式下看到它时,我能够看到 Android Studio 正在正确获取它。 但是,当我继续将其添加到 List 列表时,我什么也得不到。

这里有更多信息: 我得到的是:

{"products":[{"veg_name_eng":"Corn","veg_name_hindi":"मक्का"}],"success":1}

我担心的是:“veg_name_hindi”:“मक्का”

当我继续尝试将其放入数据项列表时,我什么也得不到:

public static List<DataItem> dataItemList;
dataItemList.add(jsonObject.getString(veg_name_eng),jsonObject.getString(veg_name_hindi))

veg_name_eng 和 veg_name_hindi 是我表中的列名。

在上面的代码之后,我得到了 dataItemList = null,所以没有添加任何东西。

在我的服务器端 MySql 数据库中,我使用的是 UTF-8 编码。

我正在使用 android studio。

更新 1:

我将 JSON 解析为:

JSONObject jsonObject = new JSONObject(myJSONString);
veg_list = jsonObject.getJSONArray("products");
try {
    while (TRACK < veg_list.length()) {
        JSONObject jsonObject = veg_list.getJSONObject(TRACK);
        addItem(new DataItem(jsonObject.getString(veg_name_eng), jsonObject.getString(veg_name_hindi)));
        TRACK = TRACK + 1;
    }
} catch (JSONException e) {
    e.printStackTrace();
}

//addItem函数如下:

private static void addItem(DataItem item) {
    dataItemList.add(item); //While Debugging, I can see that value of item is correct. (i.e., item: DataItem{veg_name_eng='Cork', veg_name_hindi='मक्का'} )
    dataItemMap.put(item.getVeg_id(), item);
}

最佳答案

首先,使用

为您的 JSON 字符串创建一个模型

http://json2java.azurewebsites.net/

然后使用 Gson 将您的 JSON 字符串映射到您的模型。它非常易于使用。

为这个特定结果获取所需字符串的另一种方法是自己解析 json 字符串。

例如:

String vegNameEng,vegNameHindi;

vegNameEng = vegNameHindi = "";

try{
    JSONObject obj = new JSONObject(yourJsonString);
    JSONArray arr = obj.getJSONArray("products");
    vegNameEng = arr.getJSONObject(0).getString("veg_name_eng");
    vegNameHindi = arr.getJSONObject(0).getString("veg_name_hindi");
}catch(JSONException ex){

}

现在 vegNameEng 和 vegNameHindi 有了所需的数据。

关于php - jsonObject.getString ("String in UTF8") 给出空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814749/

相关文章:

java - 将 PHP 语句转换为 Java 语句

android - 设置联系人自定义铃声,怎么办?

mysql - 在单个查询中与第二个表连接时从表中获取所有项目

android - 在Android的另一个类中获取后台资源

imageview上的android动画发光效果

java - 需要有关 Java、JPA、Thymeleaf 和 Mysql 的帮助

mysql - Count FROM 另一列 MySQL

php - 多次循环中的最高值数

php - 关于分层 MySQL 数据库设计的建议

php - http-vhosts.conf 虚拟主机环境变量不起作用