JSONSerializer来呈现Java字符串数组
JSONSerializer to render a Java String Array
我有一个包含5个字符串的Java数组。我想使用Flot Charts绘制这些数据,因此我想使用render(数组)将其从Java文件传输到需要Javascript的html文件。我已经尝试了很多方法,一些用户建议我将其传递给Java文件中的JSON,然后将其渲染,以使其易于"消化"为Javascript。
我使用过的方法之一如下:
JSONSerializer TestSerializer = new JSONSerializer();
String test = TestSerializer.serialize(array);
render(test);
我曾尝试将其存储在Stringtest[]元素中(作为数组),但它将序列化的结果识别为唯一变量。。。然而,当我稍后将渲染到html文件中的变量${test}中时,我获得的结果如下:
["Hello","Bye","Hi"]
字符串"Hello"、"Bye"answers"Hi"这样放置,这绝对是垃圾,用Javascript处理它毫无用处。此外,如果不是render(array),而是我键入renderJSON(array。
你们中有人知道如何"转换"它吗?或者我该怎么做才能在Javascript中获得所需的["Hello"、"Bye"、"Hi"]数组?谢谢
您的问题不是很清楚。所以,如果我理解得对的话,你想要一个类似钥匙的东西:价值关系。是的,您可以使用JSON来实现,我还建议您使用JSON。
简单的方法是使用一些库来为您进行解析(Java->JSON)。我推荐你Gson。
Gson的一个简单例子是,假设您有一个类型为Person的4个对象的列表。
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
然后,将每个人添加到列表中
Person john = new Person("John");
Person mark = new Person("Mark");
Person maria = new Person("Maria");
Person beth = new Person("Beth");
List<Person> personList = new ArrayList<>();
personList.add(john);
personList.add(mark);
personList.add(maria);
personList.add(beth);
现在是解析,让我们使用Gson。
Gson gson = new Gson();
String jsonString = gson.toJson(personList);
在这一点上,你已经有了包含JSON代码的字符串。由于我不确定你是想要JSON字符串还是真正的JSON对象,如果你想要JSON对象,你可以执行以下操作:
JsonParser parser = new JsonParser();
JsonArray jsonArray = parser.parse(jsonString).getAsJsonArray();
它们都持有相同的信息,但一个在String中,另一个在JSON对象中。
为了确保,你可以做:
System.out.println("String: " + jsonString);
System.out.println("JSONArray.toString(): " + jsonArray.toString());
将打印的:
String: [{"name":"John"},{"name":"Mark"},{"name":"Maria"},{"name":"Beth"}]
JSONArray.toString(): [{"name":"John"},{"name":"Mark"},{"name":"Maria"},{"name":"Beth"}]
PS;如果您想将键更改为其他内容,只需要在Person类上进行更改即可。比方说,你不希望你的键是"名称",而是"第一名称"。您只需转到Person类并将变量name
更改为firstName
PS2;对于这样一个小示例,使用解析库可能看起来有些过头了,但当JSON对象变得稍微复杂一点时,它可以节省时间。
- 将JSON转换为typescript中的字符串数组
- 在Javascript中将一个值和字符串数组转换为if语句
- 如何将正则表达式包含到字符串数组中
- JavaScript:将字符串数组转换为文本区域
- Knockout中的字符串数组
- 拆分字符串数组(JavaScript)后未定义
- 使用Javascript获取两个字符串之间的字符串数组
- 打印从Spring MVC Controller发送的字符串数组只显示“;toJSON”;在javascript中
- 将一个字符串数组解析为一个新的数组javascript
- AngularJS - 从字符串数组中连续更改文本
- 使用字符串数组中的字符填充 HTML 表
- 如何在 Javascript 中将字符串数组列表插入到表行中
- 创建二维字符串数组
- 如何从字符串数组中获取子字符串数组
- 如何将字符串数组转换为简单数组
- 按字母顺序、数字顺序和特殊字符对字符串数组进行排序
- 如何从字符串数组中获得8个随机唯一元素
- json_encode($myVar);正在给出地图,我想要一个字符串数组
- 函数,返回javascript中两个字符串数组的差值
- Javascript字符串数组转换为用逗号分隔的多个字符串