fish2018/pansou · error
listItemsData 缺少数组
Error message
listItemsData 缺少数组
What it means
Structure guard in zlxapp parseListItems: the marker was found but no '[' appears after it before end-of-body. The embedded listItemsData declaration is present but its array payload is absent/malformed — a truncated or reformatted page.
Solutions
- Retry for truncated responses
- Update the array-locating logic if the JS embedding format changed
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at plugin/zlxapp/zlxapp.go:186 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of fish2018/pansou@beaa561337 (2026-09-07).
Data as JSON: /api/errors/5d07c4bda20c89ee.
Report an issue: GitHub.
Appendix: source
Thrown at plugin/zlxapp/zlxapp.go:186
}
if lastErr == nil {
lastErr = fmt.Errorf("请求失败")
}
return nil, lastErr
}
func parseListItems(body []byte) ([]searchItem, error) {
markerIndex := bytes.Index(body, listItemsMarker)
if markerIndex < 0 {
return nil, fmt.Errorf("未找到 listItemsData")
}
arrayStart := markerIndex + len(listItemsMarker)
for arrayStart < len(body) && body[arrayStart] != '[' {
arrayStart++
}
if arrayStart >= len(body) {
return nil, fmt.Errorf("listItemsData 缺少数组")
}
arrayEnd, err := findJSONArrayEnd(body, arrayStart)
if err != nil {
return nil, err
}
var items []searchItem
if err := jsonutil.Unmarshal(body[arrayStart:arrayEnd+1], &items); err != nil {
return nil, err
}
return items, nil
}
func findJSONArrayEnd(data []byte, start int) (int, error) {
depth := 0
inString := false
escaped := falseView on GitHub (pinned to beaa561337)