当前位置: 首页 > ops >正文

levelDB的数据查看(非常详细)

起因:.net大作业天气预报程序(WPF)答辩时,老师问怎么维持数据持久性的,启动时加载的数据存在哪里,我明白老师想考的应该是json文件的解析(正反),半天没答上来存那个文件了(老师默认这个文件是自己建的),回头我发现用的模仿浏览器localstorage  的

Blazored.LocalStorage服务(底层基于levelDB键值存储系统)管理数据,全交出去了根本没管这个,而且存储形式时键值对(最后得到的其实是levelDB数据库文件),那么应该怎样看这个文件夹里的真实数据呢,得通过其他工具,我这里用的是LevelDBViewer.jar

工具:LevelDBViewer.jar(没jdk的先装jdk才能用) 

https://github.com/SuperMarcus/LevelDBViewer/releases/tag/v1.0

然后运行(要么在你放这个jar包的文件夹里打开cmd,  要么就用绝对地址哈,有的不行的可能得管理员运行cmd) 

# 或者双击jar包
java -jar LevelDBViewer.jar

界面:

打开leveldb文件夹,比较难找直接把路径复制过来就行了

 

在哪里找leveldb文件夹:如图 C:/用户名/AppData/Local/你的项目名/.....

 

打开后出现(大概意思是最多打开多少个文件,这个文件夹里可能有很多文件,我也不太明白,直接continue)

 

变成这样

随便点一条左边的,String就是json字符串(但是编码是unicode,尤其是中文),Hex是底层16进制数表示

所以还得解码让json字符串变成我们能看懂的。

 

解码:把这一串json字符串处理成我们能看懂的

import jsondef decode_and_pretty_print(json_str):try:# 解码JSON字符串data = json.loads(json_str)# 以易读格式输出print(json.dumps(data, ensure_ascii=False, indent=2))except json.JSONDecodeError:print("输入的不是有效的JSON字符串")except Exception as e:print(f"发生错误: {e}")if __name__ == "__main__":# 要处理的JSON字符串json_str = r'{"Name":"\u957F\u6625\u5E02","Info":"\u5409\u6797\u7701 \u957F\u6625\u5E02","Lat":43.816996,"Lon":125.323643}'decode_and_pretty_print(json_str)    

结果:其实就是为了维持数据持久性中当前位置存储的数据(这还是json格式哈,实际上在存储时虽然是以键值对的方式存储,但是值是json字符串)

{"Name": "长春市","Info": "吉林省 长春市","Lat": 43.816996,"Lon": 125.323643
}

 

 

http://www.xdnf.cn/news/4921.html

相关文章:

  • 摩斯密码详解
  • 基于论文《大规模电动汽车充换电设施可调能力聚合评估与预测》开发者说明文档
  • EXCEL中嵌入其他表格等文件
  • 电子电路:白炽灯发光能说明电子正在消散消失吗?
  • 小刚说C语言刷题—1004阶乘问题
  • 深入了解阻塞队列的实现
  • MySQL性能分析工具:SHOW PROCESSLIST
  • Mac电脑远程连接window系统服务器
  • 自定义分区器
  • 车载以太网转USB接口工具选型指南(2025版)
  • C++ stl中的list的相关函数用法
  • 学习黑客搜索技巧
  • Open CASCADE学习|实现裁剪操作
  • keepalived详细笔记
  • 2025 年数维杯数学建模 C 题完整论文代码模型:清明时节雨纷纷,何处踏青不误春
  • .net/C#进程间通信技术方案总结
  • C#黑魔法:鸭子类型(Duck Typing)
  • ChatGPT深度研究功能革新:GitHub直连与强化微调
  • qtcreater配置opencv
  • 对golang中CSP的理解
  • 34.笔记1
  • 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(二)
  • 多线程面试题总结
  • python 上海新闻爬虫, 上观新闻 + 腾讯新闻
  • C 语言中的 对象(object),值(Value),类型(Type)
  • C++ Lambda表达式应用详解
  • python实现点餐系统
  • MCP专题| 突破LLM三大瓶颈!模型上下文协议(MCP)如何重塑AI交互体验?
  • 高可用系统架构演进史——从单体节点到分布式系统的继承权治理方案
  • 【网安播报】Meta 推出 LlamaFirewall开源框架以阻止 AI 越狱、注入和不安全代码