utf-8 字符串附加方向不兼容
direction in attach of utf-8 strings not compatible
我想从一些字符串类型的键值中做一个简单的json,这些键值的值为utf-8,但在连接方向和连接结构之后被严重损坏
public static void main(String[] args) {
int k1=1;
int k2=2;
int k3=3;
String v1="مقدار1";
String v2="مقدار2";
String v3="مقدار3";
javax.swing.JOptionPane.showMessageDialog(null, "{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}");
System.out.println("Json that created:\r\n"+
"{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}");
}
正确的结果必须是这样的:{ "1" : "مقدار3" : "3" , "مقدار2" : "2" , "مقدار1" }
如果你 运行 它在 link 你看到那是不正确的!
但也许这是控制台的原因,如果你在摆动组件上看到它,你会看到方向是相反的 (RtL) 但没有损坏
在 json 结构中,第一个输入始终是键,不应通过 UTF-8 Direction
更改它
也许您的快速解决方案是先添加值然后添加密钥,但我也有英文单词,我想有一个标准的方法来避免再次出现问题
我如何解决这个问题并通过这些三键 (k1,k2,k3) 和值 (v1,v2,v3) 构建正确的 json 结构?
当您打印具有从左到右和从右到左方向的混合字符时,控制台似乎变得混乱。
如果你构建字符串
String json = "{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}";
并打印出它的字符:
for (int i=0; i<json.length(); i++)
System.out.println(json.charAt(i));
你看到你确实构建了正确的字符串。在控制台视图中调试并不容易。
这是控制台(甚至是 swing 组件)的原因,当我创建 json 并将其发送给客户端时(认为这是一个 ajax request/response,客户端是 JavaScript 代码),js 对 json 结构工作得很好,没有任何问题
我想从一些字符串类型的键值中做一个简单的json,这些键值的值为utf-8,但在连接方向和连接结构之后被严重损坏
public static void main(String[] args) {
int k1=1;
int k2=2;
int k3=3;
String v1="مقدار1";
String v2="مقدار2";
String v3="مقدار3";
javax.swing.JOptionPane.showMessageDialog(null, "{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}");
System.out.println("Json that created:\r\n"+
"{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}");
}
正确的结果必须是这样的:{ "1" : "مقدار3" : "3" , "مقدار2" : "2" , "مقدار1" }
如果你 运行 它在 link 你看到那是不正确的!
但也许这是控制台的原因,如果你在摆动组件上看到它,你会看到方向是相反的 (RtL) 但没有损坏
在 json 结构中,第一个输入始终是键,不应通过 UTF-8 Direction
更改它
也许您的快速解决方案是先添加值然后添加密钥,但我也有英文单词,我想有一个标准的方法来避免再次出现问题
我如何解决这个问题并通过这些三键 (k1,k2,k3) 和值 (v1,v2,v3) 构建正确的 json 结构?
当您打印具有从左到右和从右到左方向的混合字符时,控制台似乎变得混乱。
如果你构建字符串
String json = "{\""+k1+"\":\""+v1+"\",\""+k2+"\":\""+v2+"\",\""+k3+"\":\""+v3+"\"}";
并打印出它的字符:
for (int i=0; i<json.length(); i++)
System.out.println(json.charAt(i));
你看到你确实构建了正确的字符串。在控制台视图中调试并不容易。
这是控制台(甚至是 swing 组件)的原因,当我创建 json 并将其发送给客户端时(认为这是一个 ajax request/response,客户端是 JavaScript 代码),js 对 json 结构工作得很好,没有任何问题