The invention relates to a non-liner switching control method of a single-phase shunt active power filter, comprising the following steps: 1) building an error model of a switching system; 2) calculating the liapunov function V=xTPX of each subsystem by the linear system theory, and judging: (1) judging whether each subsystem moves in the area, if yes, proving that the subsystem is convergent and the state variable of the system approaches to zero, and switching the switching system to a corresponding subsystem, wherein in the control input of the system, arg means that a subscript satisfying the expression is taken; (2) if two subsystems both move in the area, proving that two subsystems are convergent and can cause the state variable of the system to approach to zero, calculating the subsystem which causes the switching system to be switched to a control input decision, and ensuring the highest APF convergence rate; and 3) under the action of control input u(t), carrying out precise compensation on harmonic current in a power grid by the APF.