Skip to content

🔍 ParseComposerShowJSON

解析 composer show <package> --format=json 的 JSON 输出,返回结构化的 PackageInfo

何时使用

当你已经拿到了 composer show 的 JSON 原始输出字符串,需要把它转成 Go 结构体以便程序化读取包名、版本、依赖、作者等字段时使用。它是 ShowPackageInfo 内部调用的解析器。

签名

go
func ParseComposerShowJSON(output string) (*PackageInfo, error)

参数

参数类型说明
outputstringcomposer show <package> --format=json 的原始输出

返回值

  • *PackageInfo:包信息结构体,含 NameVersionDescriptionAuthorsRequireSourceDist 等字段。
  • error:JSON 反序列化失败时返回错误(内部委托 ParsePackageInfo)。

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	output := `{"name":"symfony/console","version":"v5.4.0","description":"Symfony Console Component"}`

	info, err := composer.ParseComposerShowJSON(output)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%s %s\n", info.Name, info.Version)
}

进阶

基于 MIT 许可证发布