Java 将JSONObject强制转换为JSONArray。UTF8字符的问题

Java 将JSONObject强制转换为JSONArray。UTF8字符的问题,java,json,Java,Json,我正在尝试将JSONObject强制转换为JSONArray。JSONObject包含类型为JSONArray的对象。数组是一个字符串序列。序列中的一个字符串的格式如下所示 "uid=\u00d1\u0088\u00d1\u0084\u00d1\u0088" 将JSONObject转换为数组后,数组中的字符会发生变化 "uid=???" T 转换为JSONArray后,上述\u格式中的原始双字节字符在我的java程序中更改为不正确的显示字符。有什么想法吗?有人见过这个问题吗?我做了一些搜索,

我正在尝试将
JSONObject
强制转换为
JSONArray
JSONObject
包含类型为
JSONArray
的对象。数组是一个字符串序列。序列中的一个字符串的格式如下所示

"uid=\u00d1\u0088\u00d1\u0084\u00d1\u0088"
JSONObject
转换为数组后,数组中的字符会发生变化

"uid=???" T
转换为
JSONArray
后,上述
\u
格式中的原始双字节字符在我的java程序中更改为不正确的显示字符。有什么想法吗?有人见过这个问题吗?我做了一些搜索,但还没有找到问题的答案

下面的代码是我们不常用的

public static String[] read(JSONObject input)
{
     com.ibm.TEPS.JSON.Any.assertTypeCode(input, _type);

     JSONArray val = (JSONArray)input.get(FW_Properties.TEPSREST_TYPE_EXT_VAL);  

     String [] result = new String[val.size()];

     for(int i = 0;i<result.length;i++)
     {
        result[i] = (String)val.get(i);
     }

     return result;
  }
公共静态字符串[]读取(JSONObject输入)
{
com.ibm.TEPS.JSON.Any.assertTypeCode(输入,_-type);
JSONArray val=(JSONArray)input.get(FW_Properties.TEPSREST_TYPE_EXT_val);
字符串[]结果=新字符串[val.size()];

对于(int i=0;据我所知,JSONObject和JSONArray是两个不同的类,您不能在它们之间进行强制转换。您当然可以在JSONObject中获取一个元素,它是JSONArray,但这不是将一个元素强制转换为另一个(最好使用
getJSONArray
来实现这一点)JSONObject中的
uid
元素的值是3个双字节字符。“?”可能是在当前环境中打印它们的唯一方法。(看起来像是带“胡须”的“c”,“带双点的a”和另一个带“胡须”的“c”)(或者可能是带帽子的“e”,而不是带胡子的“c”。)它不是在强制转换您正在做的事情,而是在从JSONObject读取JsonArray感谢您的响应。UID字符串值是LDAP可分辨名称中的俄文(西里尔字母)字符。ª¥