Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将Java Map序列化为PHP的数组序列化格式

如何将Java Map序列化为PHP的数组序列化格式
EN

Stack Overflow用户
提问于 2018-09-21 09:10:11
回答 2查看 306关注 0票数 1

我想将HashMap转换为String,它对应于下面描述的PHP的数组序列化格式:

http://php.net/manual/en/function.serialize.php

例如:

代码语言:javascript
运行
AI代码解释
复制
a:5:{s:5:"width";i:450;s:6:"height";i:352;s:4:"file";s:32:"2018/09/Sawtooth-Oak_450_a-1.jpg";s:5:"sizes";a:9:{s:9:"thumbnail";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-300x235.jpg";s:5:"width";i:300;s:6:"height";i:235;s:9:"mime-type";s:10:"image/jpeg";}s:32:"twentyseventeen-thumbnail-avatar";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:21:"woocommerce_thumbnail";a:5:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-250x250.jpg";s:5:"width";i:250;s:6:"height";i:250;s:9:"mime-type";s:10:"image/jpeg";s:9:"uncropped";b:1;}s:18:"woocommerce_single";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-350x274.jpg";s:5:"width";i:350;s:6:"height";i:274;s:9:"mime-type";s:10:"image/jpeg";}s:29:"woocommerce_gallery_thumbnail";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:12:"shop_catalog";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-250x250.jpg";s:5:"width";i:250;s:6:"height";i:250;s:9:"mime-type";s:10:"image/jpeg";}s:11:"shop_single";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-350x274.jpg";s:5:"width";i:350;s:6:"height";i:274;s:9:"mime-type";s:10:"image/jpeg";}s:14:"shop_thumbnail";a:4:{s:4:"file";s:32:"Sawtooth-Oak_450_a-1-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}

我从下面的测试地图开始:

代码语言:javascript
运行
AI代码解释
复制
        HashMap images2 = new HashMap();
        images2.put("test1", "t1");

        imagesArray.put("width", image.getWidth());
        imagesArray.put("height", image.getHeight());
        imagesArray.put("file", destinationFile);
        imagesArray.put("sizes", images2);

String jsonResult = mapper.writerWithDefaultPrettyPrinter()
                                .writeValueAsString(imageMap);

                        System.out.println(jsonResult);

结果是:

代码语言:javascript
运行
AI代码解释
复制
    {
  "file" : "/images/bolivia.jpg",
  "sizes" : {
    "test1" : "t1"
  },
  "width" : 450,
  "height" : 450
}
EN

回答 2

Stack Overflow用户

发布于 2018-09-21 10:36:56

好的,我找到了解决方案--我将使用

代码语言:javascript
运行
AI代码解释
复制
<!-- https://mvnrepository.com/artifact/com.xk72/pherialize -->
<dependency>
    <groupId>com.xk72</groupId>
    <artifactId>pherialize</artifactId>
    <version>1.2.4</version>
</dependency>
票数 0
EN

Stack Overflow用户

发布于 2018-09-21 23:21:02

考虑使用Google的protobufs (原型缓冲区)。Protobuf是用多种语言实现的,包括Java、Python、C++等等。

它具有独立于语言的优点--您可以定义buffer结构,并将定义文件编译成您选择的语言。

下面是一个包含2个字段的协议的简单示例,只是为了给出一个概念:

代码语言:javascript
运行
AI代码解释
复制
syntax = "proto2";
message CookiejarTransaction {
    optional string action = 1; // Action is either "bake" or "eat"
    optional uint32 amount = 2; // Amount is number of cookies
}

免责声明:我对Protobufs不感兴趣,只对使用该工具的快乐开发人员感兴趣。

https://developers.google.com/protocol-buffers/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52440362

复制
相关文章
swift 5.0富文本
let myMutableString = NSMutableAttributedString(string: "100 Gained", attributes: [NSAttributedString.Key.font:UIFont(name: "Georgia", size: 18.0)!]) myMutableString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.purple, range
用户1219438
2021/03/18
1.8K0
从一个url中获得文本信息
有时候你可能需要从一个url中获取一个文本文件中的信息。 下面的例子会从我的博客页面下载大量的html信息。
EltonZheng
2021/01/22
5880
Swift3.0 - 文本输出
文本方式输出对象 class Person:CustomStringConvertible { var name: String var age: Int var weight:Double init(name:String,age:Int,weight:Double) { self.name = name self.age = age self.weight = weight } var descripti
酷走天涯
2018/09/14
4090
「知识」从另一个角度看待锚文本
每天过的跟复制似的,没有意外没有惊喜。 前段时间,有人问我:什么是锚文本?锚文本很重要,该如何去优化?当我听到这个问题时,就感觉应该是个新手,并没有直接回答,过了几天,找到SEO十万个为什么的内容让他先看看。今天想想,还是要写篇与锚文本相关的文章,让各位不是还很了解的同学更深入的了解下锚文本的魅力。 — — 及时当勉励,岁月不待人。 从另一个角度看待锚文本 时本文总计约1900个字左右,需要花 5 分钟以上仔细阅读。 锚文本对于学习SEO的同学来说,是最先接触的名词解释之一。在这里简单的跟各位同学讲解下
黄伟SEO
2018/05/17
8120
Markdown一键转换到"富文本格式"
新浪微博,有一个头条文章编辑器的东西, 只支持富文本, 为了一键把简书的markdown文章 ,直接转换到头条文章编辑器中, 我找到了一款神器 markdown-here! markdown-he
zhaoolee
2018/06/06
2.7K0
9.28【前端开发】文本属性:如何使用文本阴影等样式?
阴影效果在浏览器里是全支持的,可以放心使用。first-line这个伪元素,指的是一行所在的文本,并非一个p或h*标签里面的全部文本。
LIYI
2020/10/09
8430
9.28【前端开发】文本属性:如何使用文本阴影等样式?
文字如何实现完美UI?文本排版设计告诉你
一部手机,电量充足,网络通畅,就足以让我们打发一天的时光,尽情沉浸在手机时代的缤纷世界里。这个信息资源无穷尽的手机网络世界,是设计师和开发者们在不停的探索中一路一步精心打造。如何进一步美化这个世界,优化用户体验?如何在手机有限的屏幕上呈现清晰的UI和UX?这里太多因素需要考虑,文本排版设计就是其中不可或缺的一部分。今天,我将从文本排版设计角度出发,谈谈如何实现完美的手机UI界面。 首先,有必要了解一下基础知识。 国内一些设计师,或者开发人员,可能从来都没有接触过文本排版设计的培训或学习。 1,什
奔跑的小鹿
2018/03/16
2.6K0
文字如何实现完美UI?文本排版设计告诉你
vue+element-ui 使用富文本编辑器
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145033.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/27
4K0
vue+element-ui 使用富文本编辑器
【秋招】1:机械转码(如何从一个坑,跳到另一个)
一种是直接彻底的转,如果打算直接进军互联网行业,进大厂,拿机械一辈子也可能达不到的高薪并做好了996的准备,那就直接转。
周旋
2022/09/19
1.5K0
【秋招】1:机械转码(如何从一个坑,跳到另一个)
从一道算法题实现一个文本diff小工具
众所周知,很多社区都是有内容审核机制的,除了第一次发布,后续的修改也需要审核,最粗暴的方式当然是从头再看一遍,但是编辑肯定想弄死你,显然这样效率比较低,比如就改了一个错别字,再看几遍可能也看不出来,所以如果能知道每次都修改了些什么,就像git的diff一样,那就方便很多了,本文就来简单实现一个。
街角小林
2022/03/21
4370
从一道算法题实现一个文本diff小工具
表单文本框的使用(一) 选择文本
input和textarea都会在value属性保存自己的内容,可设置和读取文本框的值。在textarea中设置value属性无效
赤蓝紫
2023/03/16
1.7K0
表单文本框的使用(一)  选择文本
如何使用OpenAttack进行文本对抗攻击
OpenAttack是一款专为文本对抗攻击设计的开源工具套件,该工具基于Python开发,可以处理文本对抗攻击的整个过程,包括预处理文本、访问目标用户模型、生成对抗示例和评估攻击模型等等。
FB客服
2021/09/16
1.4K0
如何使用 RNN 模型实现文本自动生成 |
文章节选自《自然语言处理技术入门与实战》 欢迎留言! 在自然语言处理中,另外一个重要的应用领域,就是文本的自动撰写。关键词、关键短语、自动摘要提取都属于这个领域中的一种应用。不过这些应用,都是由多到少的生成。这里我们介绍其另外一种应用:由少到多的生成,包括句子的复写,由关键词、主题生成文章或者段落等。 基于关键词的文本自动生成模型 本章第一节就介绍基于关键词生成一段文本的一些处理技术。其主要是应用关键词提取、同义词识别等技术来实现的。下面就对实现过程进行说明和介绍。 场景 在进行搜索引擎广告投放的时候,我们
用户1737318
2018/07/20
3.2K0
如何使用HBase存储文本文件
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Fayson在前面的文章中介绍了《如何在CDH中使用Solr对HDFS中的JSON数据建立全文索引》和《如何使用Flume准实时建立Solr的全文索引》,假如我们有大量的文本文件,我们应该如何保存到Hadoop中,并实现文本文件的全文检索呢。为了介绍如何对文本文件进行全文检索,本文
Fayson
2018/07/12
3.4K0
问与答61: 如何将一个文本文件中满足指定条件的内容筛选到另一个文本文件中?
Q:如下图1所示,一个名为“InputFile.csv”文件,每行有6个数字,每个数字使用空格分隔开。
fanjy
2019/07/23
4.5K0
WPF 简单聊聊如何使用 DrawGlyphRun 绘制文本
在 WPF 里面,提供的使用底层的方法绘制文本是通过 DrawGlyphRun 的方式,此方法适合用在需要对文本进行精细控制的定制化控件上。此方法特别底层而让调用方法比较复杂,本文告诉大家一些简单的使用方法
林德熙
2021/10/08
1.7K0
如何使用python实现文本进度条?
大多数人都是喜欢有掌控感的,不管是做事情还是学东西,都希望了解的多一点。如果没有掌控感,你就容易慌,焦虑急躁。其实这是很正常的一种心理,利用好可以变成一种正向驱动力。
叶子陪你玩
2020/04/23
1.7K0
如何使用python实现文本进度条?
技能 | 如何使用Python将文本转为图片
有时候,我们需要将文本转换为图片,比如发长微博,或者不想让人轻易复制我们的文本内容等时候。目前类似的工具已经有了不少,不过我觉得用得都不是很趁手,于是便自己尝试实现了一个。 在 Python 中,PI
CDA数据分析师
2018/02/05
5K0
技能 | 如何使用Python将文本转为图片
在 UIKit 中使用 Swift UI
首先打开 Xcode 新建一个 Cocoa Touch 项目,interface 选择 Storyboard。
Innei
2021/12/28
3.2K0
点击加载更多

相似问题

jQuery文本淡出/从一个文本转换到另一个文本?

544

如何从一个文本字段切换到另一个文本字段

354

将焦点从一个文本小部件切换到另一个文本小部件

21

如何使用Swift UI添加新文本行

332

如何切换到文本UI元素(小部件)

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档