toString()与 gson.toJson(xxx)的区别

本文详细介绍了如何在Java中实现JSON对象与String之间的转换,包括使用toString()方法得到简化版字符串表示,以及利用Gson库获取标准JSON格式字符串。同时,展示了如何将String反序列化为JSON对象。

一、json转String 

String string = posJ.toString();
//两者区别
String json = gson.toJson(posJ);

将json数据转为String,posJ为一段json数据,

 

1、使用

Object posJ = dangerRecordEntity.getInfo().getPos();
String string = posJ.toString();

转出的效果为:

{x=5, y=2, width=1, height=2, baseWidth=1, baseHeight=2}

——————————————————————————————————————

2、使用

Object posJ = dangerRecordEntity.getInfo().getPos();
Gson gson = new Gson();​​​​​​​
String json = gson.toJson(posJ);

转出效果为:

{"x":5,"y":2,"width":1,"height":2,"baseWidth":1,"baseHeight":2}

二、string转json

Gson gson = new Gson();
PosData posData = new PosData();
posData = gson.fromJson(li.getPos(), PosData.class);
System.out.println(posData );                 

 

package com.weishitech.sjykqyaowneng.utils import android.annotation.SuppressLint import android.content.Context import androidx.core.content.edit import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.weishitech.sjykqyaowneng.bean.WindowInfo @SuppressLint("StaticFieldLeak") object WebViewWindowManager { private const val PREFS_NAME = "webview_windows" private const val KEY_WINDOWS = "windows" private val windows = mutableListOf<WindowInfo>() fun init(context: Context) { val prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE) val json = prefs.getString(KEY_WINDOWS, null) if (!json.isNullOrEmpty()) { val type = object : TypeToken<List<WindowInfo>>() {}.type Gson().fromJson<List<WindowInfo>>(json, type)?.let { windows.clear() windows.addAll(it) } } } fun getAllWindows(): List<WindowInfo> = windows.toList() fun addWindow(info: WindowInfo) { // 避免重复添加完全相同的 windows.removeAll { it.url == info.url } windows.add(0, info) // 最新的放前面 saveToSP(context) } fun removeWindow(url: String) { windows.removeIf { it.url == url } saveToSP(context) } private var context: Context? = null fun setup(context: Context) { this.context = context.applicationContext init(context) } private fun saveToSP(context: Context?) { context ?: return val json = Gson().toJson(windows) context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE).edit { putString(KEY_WINDOWS, json) } } fun clear() { windows.clear() saveToSP(context) } } 转成java
最新发布
12-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值