当前位置: 首页 > 知识库问答 >
问题:

将Java LinkedHashMap转换为Json格式,以便在javascript中使用

全流觞
2023-03-14

我有一个LinkedHashMap,MyClass有两个字符串变量,我想把它转换成Json,这样就可以在javascript中进行比较。请分享如何做到这一点。

我创建这个结构是因为我需要以rowName、columnName及其值的格式存储表的值

结构

Map<String,MyClass> dataMap = new LinkedHashMap<String,MyClass>();

MyClass{
String fieldName;
String fieldValue;
}

共有2个答案

陈誉
2023-03-14

可以使用JSON库来做可以使用org.json库这个答案将帮助你从LinkedHashMap转换为json字符串

郏瀚
2023-03-14

你可以使用杰克逊2图书馆。

你可以在这里找到一个例子(第三部分):

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class JacksonExample1 {

    public static void main(String[] args) {

        ObjectMapper mapper = new ObjectMapper();

        Staff staff = createStaff();

        try {

            // Java objects to JSON file
            mapper.writeValue(new File("c:\\test\\staff.json"), staff);

            // Java objects to JSON string - compact-print
            String jsonString = mapper.writeValueAsString(staff);

            System.out.println(jsonString);

            // Java objects to JSON string - pretty-print
            String jsonInString2 = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(staff);

            System.out.println(jsonInString2);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    private static Staff createStaff() {

        Staff staff = new Staff();

        staff.setName("mkyong");
        staff.setAge(38);
        staff.setPosition(new String[]{"Founder", "CTO", "Writer"});
        Map<String, BigDecimal> salary = new HashMap() {{
            put("2010", new BigDecimal(10000));
            put("2012", new BigDecimal(12000));
            put("2018", new BigDecimal(14000));
        }};
        staff.setSalary(salary);
        staff.setSkills(Arrays.asList("java", "python", "node", "kotlin"));

        return staff;

    }

}

要继续,请创建一个ObjectMapper,然后可以使用mapper将对象写入文件。writeValue或使用映射器写入字符串。writeValueAsString

 类似资料:
  • 问题内容: 我尝试使用json格式的文件作为输入。这是示例数据的片段。 可以在r中使用这种复杂的json格式制作一个csv,以便更平滑地处理数据吗? 例如,有以下基本类别:基本信息照片创建者位置类别网址 可以制作带有basic_information.id,creator.id等子类别类别的csv文件吗? 问题答案: 在研究您的答案时,我在评论中张贴了一些链接,但现在我非常确信这是解决问题的方法。

  • 问题内容: 我正在使用需要json日期格式的API。 我需要转换我的JavaScript日期 1970年1月17日星期六格林尼治标准时间+0100(浪漫标准时间) 以json日期格式 /日期(1405699200)/ 问题答案: 列各项可以吗?

  • 问题内容: 我有一个带有两列的Pandas –一列带有文件名,一列带有生成它的时间: 我正在尝试将其转换为以下格式的JSON文件: 使用命令时,将以以下格式获取记录: 我只是想知道是否存在以所需格式获取JSON文件的选项。任何帮助,将不胜感激。 问题答案: 您得到的输出是。因此,您可以根据需要简单地对其进行切片,并从中删除逗号。 要将输出写入文本文件,您可以执行以下操作:

  • 无法使用颠簸实现上述输出格式,并且经历了多个SO问题,找不到类似的问题。尝试在 jolt 规范数组中添加索引,但不起作用。提前感谢,并在下面找到输入,输出和震动规格 输入: Jolt规格: 电流输出: 预期产出:

  • 问题内容: 我打算通过将其编码为JSON来发送充满数据的Javascript数组对象。任何好的jQuery插件吗? 在Java端,将JSON解析为Java数组的标准方法是什么? 总体流程如下: Javascript会在当前页面上编译一堆数据并将其存储在数组中。 数组对象编码为JSON。 Java代码保存JSON。 对每个页面重复执行并用Java代码编译成功的JSON。 Java代码向服务器提交一个

  • null 这是很好的,因为我可以确定我的API请求是否成功。 但是: 由于JSend格式有它自己的东西,它在响应时也有一个小的状态指示器,如下所示: 我是否应该坚持手动解析并使用而不是我的模型 对于类型paramter? 因为这样,我可以使用并将字符串转换为JSON,然后我可以手动解析模型,就像为它们编写解析器一样。