java - 我有一个 mysql 数据库和一个表,我将它编码为 json,当我在浏览器中运行 php 文件时,当我从 android 获取它时,它会有所不同

标签 java php android mysql json

我有一个 mysql 数据库和一个表,我将其编码为 json,当我在浏览器中运行 php 文件时,我得到如下内容:

[
    {
        "product":"\u0645\u0627\u0633\u062a \u067e\u0631 \u0686\u0631\u0628 \u0633\u0648\u0646 \u06a9\u0627\u0644\u0647",
        "info":"\u0645\u0627\u0633\u062a \u0633\u0648\u0646 \u06f5 \u062f\u0631\u0635\u062f \u0686\u0631\u0628\u06cc \u06f1\u060c\u06f5 \u06a9\u06cc\u0644\u0648\u06cc\u06cc \u06a9\u0627\u0644\u0647",
        "price":"7\u060c800 \u062a\u0648\u0645\u0627\u0646",
        "date":null,
        "sale":"no sale",
        "image":"Image source",
        "buy":"Store"
    }
]

我认为它没问题,但是当我在我的 Android 代码中得到它时,它就像下面链接的图片:

image

这是我在android中使用的代码

StringRequest stringRequest = new StringRequest(Request.Method.GET, server_url, new Response.Listener<String>() {

        @Override
        public void onResponse(String response) {
            try {
                JSONArray array = new JSONArray(response);
                for (int i = 0; i < array.length(); i++) {
                    JSONObject product = array.getJSONObject(i);
                    productList.add(new Product(
                        product.getString("product"),
                        product.getString("info"),
                        product.getString("price"),
                        product.getString("date"),
                        product.getString("sale"),
                        product.getString("image"),
                        product.getString("buy")
                    ));
                }
                ProductAdapter adapter = new ProductAdapter(MainActivity.this, productList);
                recyclerView.setAdapter(adapter);
            }
            catch (JSONException e) {
                e.printStackTrace();
            }
        }
    },

    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
        }
    }
);
Volley.newRequestQueue(this).add(stringRequest);

那我能做什么呢? 感谢您抽出时间。

最佳答案

我认为您需要在 Android 请求中添加 Accept header 。服务器返回 HTML,因为这是默认的内容类型。您应该添加 HTTP header “Accept: application/json”。

关于java - 我有一个 mysql 数据库和一个表,我将它编码为 json,当我在浏览器中运行 php 文件时,当我从 android 获取它时,它会有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54389489/

相关文章:

java - JBeret 和 JSR352,关于重启和持久数据的一些说明

java - 启动 Thread 或进行计算的 SwingWorker 时的 Swing 伪 block

php - 动态更改图像高度

php - 无需 jQuery 或其他框架即可动态刷新带有表格的 div

android - 未收到 Firebase 云消息传递通知

Android 两种ListView的间距和布局

java - 调用 `&lt;script&gt;` 时如何从 HTML DOM 内的 `element.getText()` 标记中排除文本

java - LWJGL 添加照明后显示白屏

php - 按特定键的值对数组进行排序

android - 在 Android 中,1 个 Activity 中应该只有 1 个 View 吗?