golang中的处理列表

时间:2014-08-27 06:22:26

标签: go

我正在尝试从golang中的method()处理数据,输出采用此格式,即样本。

编辑: 功能是:

func MethodProcess()
{
  dataList := dataList{}
  //Call webservice method
  webres = MethodFromWeb()
    err := xml.Unmarshal(webres, &dataList)
  return dataList
}

输出:

{{arg1}desc[{ High Low [InnerDescription]}]}

输出基本上不是json格式,所以如果我想将数据提取为" High",数据的格式是什么?

是否可以从中提取数据?

1 个答案:

答案 0 :(得分:3)

我不认识那种数据格式。

您可以使用yacc创建的语法对其进行解析。

或使用regexp

的野蛮极简主义

Playground

in := `{{arg1}desc[{ High Low [InnerDescription]}]}`
matcher := regexp.MustCompile(`^\{\{(.*?)\}(.*?)\[\{\s*(.*?)\s+(.*?)\s*\[(.*?)\]\}\]\}`)
match := matcher.FindStringSubmatch(in)
fmt.Printf("matches = %#v\n", match[1:])
fmt.Printf("High = %q\n", match[3])

打印

matches = []string{"arg1", "desc", "High", "Low", "InnerDescription"}
High = "High"