V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  body007  ›  全部回复第 6 页 / 共 27 页
回复总数  536
1 ... 2  3  4  5  6  7  8  9  10  11 ... 27  
https://i.imgur.com/F7L8EPV.png

试试关闭防火墙的 wsl 配置。
@ZeroDu #19

```go
package main

import (
"bytes"
"fmt"

jsoniter "github.com/json-iterator/go"
)

func main() {
s := `
[
"com.test.UserInfo",
{
"userName": "13123",
"email": "[email protected]",
"roleIds": [
"java.util.ArrayList",
[
"109","209","309"
]
]
}
]`
var (
cnf = jsoniter.ConfigCompatibleWithStandardLibrary

buf bytes.Buffer
out = jsoniter.NewStream(cnf, &buf, 512)
)

recursivelyRemoveTypes(out, jsoniter.ParseString(cnf, s).ReadAny())
err := out.Flush()
if err != nil {
panic(err)
}

fmt.Println(buf.String())
}

func recursivelyRemoveTypes(out *jsoniter.Stream, data jsoniter.Any) {
switch data.ValueType() {
case jsoniter.ArrayValue:
if ds := data.Size(); ds > 0 {
if ds == 2 {
if data.Get(0).ToString() != "" {
recursivelyRemoveTypes(out, data.Get(1))
return
}
}

out.WriteArrayStart()
for i := 0; i < ds; i++ {
if i > 0 {
out.WriteMore()
}
recursivelyRemoveTypes(out, data.Get(i))
}
out.WriteArrayEnd()
} else {
out.WriteEmptyArray()
}
case jsoniter.ObjectValue:
if ks := data.Keys(); len(ks) > 0 {
out.WriteObjectStart()
for i, k := range ks {
if i > 0 {
out.WriteMore()
}
out.WriteObjectField(k)
recursivelyRemoveTypes(out, data.Get(k))
}
out.WriteObjectEnd()
} else {
out.WriteEmptyObject()
}
default:
data.WriteTo(out)
}
}
```

@a132811 你这个递归提醒了我,可以用上面方法不用解析 json 和序列化 json ,性能应该不错。
328 天前
回复了 Hawthorne 创建的主题 macOS 大家都用哪个键唤醒系统?
移动鼠标。
我这边是用 github.com/json-iterator/go 这个库的 jsoniter.Get 方法,示例如下,我是默认 "com.test.UserInfo" 和 "java.util.ArrayList" 这类数据都在第 0 项里面,所以用 data.Get(1) 取第 1 项。

```go
package main

import (
"fmt"

jsoniter "github.com/json-iterator/go"
)

func main() {
s := `
[
"com.test.UserInfo",
{
"userName": "13123",
"email": "[email protected]",
"roleIds": [
"java.util.ArrayList",
[
"109","209","309"
]
]
}
]`
data := jsoniter.Get([]byte(s), 1)
var (
userName = data.Get("userName").ToString()
email = data.Get("email").ToString()

roleIds []string
)
data.Get("roleIds", 1).ToVal(&roleIds)
fmt.Printf("userName: %s, email: %s, roleIds: %#v\n", userName, email, roleIds)
}
```
@pdf01 我给的这个仓库有国际化,支持中文额。
342 天前
回复了 BlackSnow 创建的主题 微信 换机微信记录迁移
要不试试微信:我 -> 设置 -> 聊天 -> 聊天记录迁移与备份
345 天前
回复了 v2zzzzz 创建的主题 Linux 2025 年了,大家服务器用的什么 Linux 版本
Debian
已经从 wsl2 换回 VMware 虚拟 Linux 了。最大的问题就是网络,遇到有些问题甚至需要防火墙放通 wsl 网卡才行。有时候还会使得 window 写的 go 程序无法监听端口,只能重启 winnat 服务才正常,没用 wsl 时都没遇到这种问题。
https://i.imgur.com/lWqVBuv.png

用这个,添加了配置同步功能。
太厉害了。
微信:我->设置->通用->辅助功能-> QQ 邮箱提醒,绑定一下邮箱。然后用代码通过别的邮箱给这个 QQ 邮箱发邮件,然后微信就来通知了。
2024-12-27 09:52:38 +08:00
回复了 94nb 创建的主题 生活 明天和意外,你永远不知道哪个会先来
加油,住早日康复。
2024-12-27 09:44:05 +08:00
回复了 sunzhuo 创建的主题 加密货币 能直接用国内信用卡买加密货币吗?
支付宝和微信都可以,你说呢。
2024-12-23 16:11:42 +08:00
回复了 blackboxo 创建的主题 推广 [抽奖]自家做的酱鸭酱肉香肠年货,抽奖送酱肉
看着不错,希望能中。
2024-12-20 14:43:05 +08:00
回复了 lumoschao 创建的主题 生活 关于是否进产房陪产
其实坐在床头凳子不要起来,加油打气就行了。千万不要好奇看下面,屎尿齐流都是有可能的。一般护士也只会让陪到孩子露头,后面会让外面等着。顺产生孩子很费力气,我当时喊加油声音太大吵到隔壁还被护士说了 https://i.imgur.com/NIvxivj.png
2024-12-15 10:47:18 +08:00
回复了 kyonn 创建的主题 Windows windows 系统这种长字符串用户名是哪来的?
我在 C 盘装新系统后,其他盘的文件夹用户也都变成上面那种格式了,其他都没问题,但用 git 时提示权限不对我才发现。
1 ... 2  3  4  5  6  7  8  9  10  11 ... 27  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   910 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 19:26 · PVG 03:26 · LAX 11:26 · JFK 14:26
♥ Do have faith in what you're doing.